微信小程序> 微信小程序下拉框组件使用方法

微信小程序下拉框组件使用方法

浏览量:495 时间: 来源:前端可乐老师

这篇文章主要为大家详细介绍了微信小程序下拉框组件的使用方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。

小程序

适用场景

1、省市三级联动
2、出生日期选择
3、性别选择
4、一般性的下拉选择等

一、省市三级联动使用

注意mode = region,以及value = “一维数组”

//.wxmlpicker mode="region" bindchange="bindViewEvent" data-model="component"data-method="bindSelect" data-name="region" value="{{region}}" custom-item="{{customItem}}"view class="picker"   当前选择:{{region[0]}},{{region[1]}},{{region[2]}}/view/picker

二、出生日期选择

注意mode = date,以及value = “日期字符串”

picker mode="date" value="{{date}}" start="2015-09-01" end="2017-09-01" bindchange="bindViewEvent" data-model="component" data-method="bindSelect" date-mode="date" data-name="date"  view class="picker"  {{date}}  /view

三、性别选择

注意,不填mode默认为selector,range=”一维数组”,value=”当前选中索引”

picker bindchange="bindViewEvent" data-model="component" data-method="bindSelect" data-name="index" value='{{index}}' range="{{gender}}"  view class="label-right"    {{gender[index]}}  /view/picker

以上都需要在.js里设置相关初始变量!

 var app = getApp();  data: {   region:['湖南','长沙','岳麓'],  date:'2010-10-10',  gender:['男','女'],  index:0 }, //欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:619586920 bindViewEvent:function(e){   app.process(this,e);   }

相关js类

//component.jsconst 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(); } //欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:619586920 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.jsclass 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; } //欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:619586920 /* * 选择图片 */ 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(); } //欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:619586920 /* * 删除图片 */ del(index) {   let self = this;   self.that.data[self.name].splice(index, 1);   self.show(); }  }module.exports = picUploader;

结语

感谢您的观看,如有不足之处,欢迎批评指正。
#获取资料
本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
对web开发技术感兴趣的同学,欢迎加入Q群:619586920,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎