微信小程序——选择某个区间的数字
很久没有更新文章啦~~记录下今天弄的一个小功能。
先上图:

需求很简单:
第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.实现点击头像按钮实现选择图片或者拍照,将图片重新设置成头像: //index.js //获取应用实例 var app = getApp() Page({ data: { motto: 'Hello ...
- 微信小程序选择视频,视频上传,视频播放
请查看链接地址看具体详情: 选择视频: https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-video.html#wxchoosevideoobje ...
- 微信小程序 选择微信自带的地址 用户授权选择了拒绝
// 选择微信自带地址 addAddr:function () { wx.chooseAddress({ success: function (res) { self.setData({ addrIn ...
- 微信小程序选择图片,查看图片信息,浏览图片,图片上传
依次点击链接请查看以下步骤 选择图片: https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html#wxchooseimageob ...
- 微信小程序 --- 选择图片和拍照
wx.chooseImage 选择图片 / 进行拍照 //获取应用实例 const app = getApp() Page({ data: { onOff:true }, btnclick:funct ...
- 微信小程序选择并上传图片
上传图片 API: wx.chooseImage() 和 wx.uploadFile() wx.chooseImage({ count: 1, // 默认9 sizeType: ['origina ...
- 微信小程序字符串如何转数字?
[微信小程序]字符串如何转数字 字符串可以采用 parseInt()方法来转换为数字. input_number_sim = parseInt(input_number_sim) 也可采用的用 ...
- 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...
- 迅雷首席架构师刘智聪:微信小程序的架构与系统设计的几点观感
笔者注:本文来自于迅雷首席工程师刘智聪的个人分享,他毕业于南昌大学化学系,加入迅雷后设计开发了多款迅雷核心产品,凭借“大规模网络流媒体服务关键支撑技术”项目获得2015年国家科学技术进步奖二等奖,同时 ...
随机推荐
- Access to XMLHttpRequest at 'http://127.0.0.1:8000/XXXXX' from origin 'http://localhost
Django 报错,跨域请求出现问题. 在settings.py中添加 #设置可跨域范围 CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_ALLOW_ALL = T ...
- Vue框架——页面组件中使用小组件
小组件在components文件夹中,页面组件在views文件夹中 一.先写小组件的vue,比如text.vue(在template设置模板渲染,style设置样式) <template> ...
- Mac Mini(late 2014) 添加NVMe固态组Fusion Drive
我买的是Mac Mini(late 2014)中配,内置5400转1T机械硬盘,该配置即使到了2019年安装macOS Mojave系统依旧是够用的,但硬盘严重拖累了运行的速度.之前考虑到更换内置sa ...
- Oracle打印输出在控制台
SET SERVEROUTPUT ON --必须有,不然显示不出declare LN_C number(10,0):=0;begin DECLARE LS_STR1 VARCHAR2(200); - ...
- MNIST机器学习入门(二)
在前一个博客中,我们已经对MNIST 数据集和TensorFlow 中MNIST 数据集的载入有了基本的了解.本节将真正以TensorFlow 为工具,写一个手写体数字识别程序,使用的机器学习方法是S ...
- 对一次 redis 未授权写入攻击的分析以及学习
前段时间自己使用 redis 开发的时候,搞了一个 docker ,然后直接开放连接没有密码,其实一开始我就知道会被黑产扫到然后给我种马,但是把因为也是测试服务,其实也没怎么上心,于是就放任自由了,结 ...
- 勒索病毒,华为/H3C三层交换机/路由器用ACL访问控制实现端口禁用
前不久勒索病毒横行,很多人都纷纷中招,从公司到个人,损失相当惨重.有些公司在互联网入口上做了控制,但是这样并非完全,万一有人把中了毒的U盘插入网内设备上呢?那我们的内网中很有可能集体中招(打过相关补丁 ...
- Spring-Cloud之Sleuth链路追踪-8
一.Spring Cloud Sleuth 是Spring Cloud 的一个组件,它的主要功能是在分布式系统中提供服务链路追踪的解决方案. 二.为什么需要Spring Cloud Sleuth? 微 ...
- Hadoop2.x 集群搭建
Hadoop2.x 集群搭建 一些重复的细节参考Hadoop1.X集群完全分布式模式环境部署 1 HADOOP 集群搭建 1.1 集群简介 HADOOP 集群具体来说包含两个集群:HDFS 集群和YA ...
- SQL Server安装教程(超详细)
具体教程:https://zijian1998.github.io/2018/03/14/Microsoft%20SQL%20Server%202017%E4%B8%8B%E8%BD%BD%E5%AE ...