### [微信小程序下拉框组件使用方法](https://www.prosaas.cn/article/16996) **Published:** 2019-01-21T05:44:27 **Author:** 5201314 **Excerpt:** 这篇文章主要为大家详细介绍了微信小程序下拉框组件的使用方法,写的十分的全面细致,具有一定的参考价值,对此有需要… 这篇文章主要为大家详细介绍了微信小程序下拉框组件的使用方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。【推荐教程:小程序开发教程】 适用场景 1、省市三级联动 2、出生日期选择 3、性别选择 4、一般性的下拉选择等 **一、省市三级联动使用** 注意mode = region,以及value = “一维数组” //.wxml 当前选择:{{region\[0\]}},{{region\[1\]}},{{region\[2\]}} **二、出生日期选择** 注意mode = date,以及value = “日期字符串” {{date}} **三、性别选择** {{gender\[index\]}} 以上都需要在.js里设置相关初始变量! var app = getApp(); data: { region:\['湖南','长沙','岳麓'\], date:'2010-10-10', gender:\['男','女'\], index:0 } bindViewEvent:function(e){ app.process(this,e); } 相关js类 //component.js const select = require('../component/select.js'); const upload = require('../component/upload.js'); class component{ constructor(com, that) { this.com = com; this.that = that; } //绑定下拉框选择事件 bindSelect(data){ let self = this; let mode = data.currentTarget.dataset.mode; let name = data.currentTarget.dataset.name; let picker = new select({ that: self.that, mode: mode, name: name }); picker.change(data.detail.value); } //点击事件,传递参数为e.currentTarget.dataset bindImageChoose(data){ //图片上传 this.uploader = new upload({ that: that, name: data.name, mode: data.mode, count: data.count || 9 }); this.uploader.choose(); } bindImageDel(data){ //图片上传 this.uploader = new upload({ that: that, name: data.name, mode: data.mode, count: data.count || 9 }); this.uploader.del(data.index); } } module.exports = component; //select.js /\* \* 下拉框对象 \*/ class picker{ constructor(data){ this.that = data.that; this.name = data.name || 'date'; this.mode = data.mode || 'selector'; } show(name,data){ let view = {}; view\[name\] = data; this.that.setData(view); } change(data){ let self = this; self.show(self.name, data); } } module.exports = picker; //upload.js class picUploader { constructor(data) { this.that = data.that; this.name = data.name; this.mode = data.mode || 1; this.count = this.model == 1 ? 1 : data.count || 9; } /\* \* 选择图片 \*/ choose() { const self = this; wx.chooseImage({ count: (self.count - self.that.data\[self.name\].length), sizeType: \['original', 'compressed'\], sourceType: \['album', 'camera'\], success: function (res) { var tempFilePaths = res.tempFilePaths; self.append(tempFilePaths); } }) } /\* \* 显示图片 \*/ show() { let self = this; let view = {}; view\[self.name\] = self.that.data\[self.name\]; self.that.setData(view); } /\* \* 追加图片 \*/ append(data) { const self = this; for (let i = 0; i < data.length; i++) { self.that.data\[self.name\].push(data\[i\]); } self.show(); } /\* \* 删除图片 \*/ del(index) { let self = this; self.that.data\[self.name\].splice(index, 1); self.show(); } } module.exports = picUploader; 以上就是微信小程序下拉框组件使用方法的详细内容,更多请关注知企PROSAAS其它相关文章! **Tags:** date, JS, 字符串, 微信小程序 **Categories:** 后端开发 ---