很久没有更新文章啦~~记录下今天弄的一个小功能。

先上图:

需求很简单:

第1列改变的时候,第2列也随着改变,并且比第1列大1k。

这里用到了微信的picker 组件,对于不太熟练这个组件的小伙伴可以先看下官方文档

主要用到了多列选择器,如下图:

解决思路:

1.在onLoad里面生成一个二维数组,形式如下:

[['1K','2K','3K','4K','5K','6K','7K','8K'...],['1K','2K','3K','4K','5K','6K','7K','8K'...]]

onLoad: function(options) {
const _this = this;
let salaryStart = [],
salaryEnd = [],
salaryArray = [];
for (let i = 1; i < 100; i++) {
salaryStart.push(`${i}k`);
salaryEnd.push(`${i+1}k`)
}
salaryArray.push(salaryStart);
salaryArray.push(salaryEnd);
_this.setData({
salaryArray: salaryArray
})
},

2.data数据设置如下:

data:{
salaryArray: [],
salaryIndex: [0, 0],
}

3.在wxml绑定这些数据

<picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{salaryIndex}}" range="{{salaryArray}}">
  <view class="picker">
  {{salaryArray[0][salaryIndex[0]]}}-{{salaryArray[1][salaryIndex[1]]}}
  </view>
</picker>

4.定义bindchange 和 bindcolumnchange方法

//确定时触发该事件
bindMultiPickerChange(e) {
this.setData({
salaryIndex: e.detail.value
})
},
//滑动列时触发该事件
bindMultiPickerColumnChange(e) {
let currentColunm = e.detail.column;
let currentClounmIndex = e.detail.value;
let salaryArray = this.data.salaryArray
console.log('修改的列为', currentColunm, ',值为', currentClounmIndex);
let data = {
salaryArray: this.data.salaryArray,
salaryIndex: this.data.salaryIndex
}
data.salaryIndex[currentColunm] = currentClounmIndex
data.salaryIndex[1] = currentClounmIndex;
this.setData(data)
},

方法说明:

1.currentColunm 表示当前滑动的列数

2.currentClounmIndex 表示选择某一列的值的索引

如下图:

后期待优化:

让第2列的可选择区间永远大于第1列。

各位小伙伴如果有更合适的解决方案,望不吝赐教~~

微信小程序——选择某个区间的数字的更多相关文章

  1. 微信小程序---选择图片和调用微信拍照

    1.实现点击头像按钮实现选择图片或者拍照,将图片重新设置成头像: //index.js //获取应用实例 var app = getApp() Page({ data: { motto: 'Hello ...

  2. 微信小程序选择视频,视频上传,视频播放

    请查看链接地址看具体详情: 选择视频: https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-video.html#wxchoosevideoobje ...

  3. 微信小程序 选择微信自带的地址 用户授权选择了拒绝

    // 选择微信自带地址 addAddr:function () { wx.chooseAddress({ success: function (res) { self.setData({ addrIn ...

  4. 微信小程序选择图片,查看图片信息,浏览图片,图片上传

    依次点击链接请查看以下步骤 选择图片: https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html#wxchooseimageob ...

  5. 微信小程序 --- 选择图片和拍照

    wx.chooseImage 选择图片 / 进行拍照 //获取应用实例 const app = getApp() Page({ data: { onOff:true }, btnclick:funct ...

  6. 微信小程序选择并上传图片

      上传图片 API: wx.chooseImage() 和 wx.uploadFile() wx.chooseImage({ count: 1, // 默认9 sizeType: ['origina ...

  7. 微信小程序字符串如何转数字?

      [微信小程序]字符串如何转数字 字符串可以采用 parseInt()方法来转换为数字. input_number_sim = parseInt(input_number_sim)   也可采用的用 ...

  8. 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...

  9. 迅雷首席架构师刘智聪:微信小程序的架构与系统设计的几点观感

    笔者注:本文来自于迅雷首席工程师刘智聪的个人分享,他毕业于南昌大学化学系,加入迅雷后设计开发了多款迅雷核心产品,凭借“大规模网络流媒体服务关键支撑技术”项目获得2015年国家科学技术进步奖二等奖,同时 ...

随机推荐

  1. redis源码分析(五)--cluster(集群)结构

    Redis集群 Redis支持集群模式,集群中可以存在多个master,每个master又可以拥有多个slave.数据根据关键字映射到不同的slot,每一个master负责一部分的slots,数据被存 ...

  2. Springcloud的版本依赖问题(最全,包含springCloud所有的版本)

    版权声明:本文为博主原创文章,遵循CC 4.0 BY版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_42105629/article/detai ...

  3. ubuntu中安装python3和pip

    python3: 在ubuntu的包中,python的二代和三代版本的命名:二代:python,三代:python3 安装python3: sudo apt install python3 同理:pi ...

  4. SpringCloud微服务基础学习

    看了蚂蚁课堂的微服务学习,确实学习了不少关于微服务的知识,现在总结学习如下 : SpringCloud微服务基础单点系统架构传统项目架构传统项目分为三层架构,将业务逻辑层.数据库访问层.控制层放入在一 ...

  5. .net Dapper 实践系列(4) ---数据查询(Layui+Ajax+Dapper+MySQL)

    写在前面 上一小节,总结了数据显示时,会出现的日期问题.以及如何处理格式化日期.这个小节,主要总结的是使用Dapper 中的QueryMultiple方法依次显示查询多表的数据. 实践步骤 1.在Bo ...

  6. dump net core windbg 内存分析

    !dumpheap -stat //检查当前所有托管类型的统计信息 0:000> !dumpheap -stat //检查当前所有托管类型的统计信息 .... 00007ffdb9387a98 ...

  7. 启动OpenOffice服务

    下载安装 安装OpenOffice 4.1.6:下载路径:http://www.openoffice.org/zh-cn/download/ 启动 用以下命令启动OpenOffice服务,注意ip,如 ...

  8. 【面试突击】-Redis常见面试题(二)

    1.什么是Redis?简述它的优缺点? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到 ...

  9. 腾讯微服务框架Tars的初体验

    最近研究了一下腾讯的微服务体系开发框架. 官方的搭建过程:https://github.com/TarsCloud/Tars/blob/master/Install.zh.md 自己填的坑: 不得不说 ...

  10. xadmin集成DjangoUeditor,以及编辑器的视频路径配置

    稍微讲一下DjangoUeditor的配置,因为之前去找配置的时候东拼西凑的,所以自己写一下自己一步步配置的过程.首先我是再github上去下载下来,因为是当作第三方插件集成到xadmin中,所以不用 ...