微信小程序下拉框組件使用方法詳解
本文實例為大家分享了微信小程序下拉框組件的使用方法,供大家參考,具體內容如下
適用場景
1、省市三級聯(lián)動
2、出生日期選擇
3、性別選擇
4、一般性的下拉選擇等
一、省市三級聯(lián)動使用
注意mode = region,以及value = “一維數(shù)組”
//.wxml <picker 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> </picker>
三、性別選擇
注意,不填mode默認為selector,range=”一維數(shù)組”,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里設置相關初始變量!
//.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); } //點擊事件,傳遞參數(shù)為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;
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
jquery實現(xiàn)文本框textarea自適應高度
這篇文章主要介紹了jquery實現(xiàn)文本框textarea自適應高度的相關資料,需要的朋友可以參考下2016-03-03不錯的用外部Javascript修正特定網(wǎng)頁內容
不錯的用外部Javascript修正特定網(wǎng)頁內容...2007-08-08在js中判斷checkboxlist(.net控件客戶端id)是否有選中
添加或修改內容時,需要對關鍵數(shù)據(jù)進行判空處理,checkboxlist是否有選擇項如何使用js判斷實現(xiàn),接下來為大家詳細介紹下實現(xiàn)方法,感興趣的朋友可以參考下哈2013-04-04詳解Js 根據(jù)文件夾目錄獲取Json數(shù)據(jù)輸出demo
這篇文章主要為大家介紹了Js 根據(jù)文件夾目錄獲取Json數(shù)據(jù)輸出示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03javascript教程:關于if簡寫語句優(yōu)化的方法
這篇文章主要介紹了js中if簡寫語句優(yōu)化的方法,需要的朋友可以參考下2014-05-05JavaScript制作windows經(jīng)典掃雷小游戲
掃雷是一款相當大眾的小游戲,游戲目標是在最短的時間內根據(jù)點擊格子出現(xiàn)的數(shù)字找出所有非雷格子,同時避免踩雷。今天我們來看看如何使用javascript來實現(xiàn)這款小游戲2015-03-03(轉載)JavaScript中匿名函數(shù),函數(shù)直接量和閉包
(轉載)JavaScript中匿名函數(shù),函數(shù)直接量和閉包...2007-05-05