微信小程序下拉框組件使用方法詳解
本文實(shí)例為大家分享了微信小程序下拉框組件的使用方法,供大家參考,具體內(nèi)容如下
適用場(chǎng)景
1、省市三級(jí)聯(lián)動(dòng)
2、出生日期選擇
3、性別選擇
4、一般性的下拉選擇等
一、省市三級(jí)聯(lián)動(dòng)使用
注意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">
當(dāng)前選擇:{{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默認(rèn)為selector,range=”一維數(shù)組”,value=”當(dāng)前選中索引”
<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里設(shè)置相關(guān)初始變量!
//.js
var app = getApp();
data: {
region:['河北','滄州','河間'],
date:'2010-10-10',
gender:['男','女'],
index:0
},
bindViewEvent:function(e){
app.process(this,e);
}相關(guān)js類(lèi)
//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);
}
//點(diǎn)擊事件,傳遞參數(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
/*
* 下拉框?qū)ο?
*/
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;以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jquery實(shí)現(xiàn)文本框textarea自適應(yīng)高度
這篇文章主要介紹了jquery實(shí)現(xiàn)文本框textarea自適應(yīng)高度的相關(guān)資料,需要的朋友可以參考下2016-03-03
JS實(shí)用的動(dòng)畫(huà)彈出層效果實(shí)例
這篇文章主要介紹了JS實(shí)用的動(dòng)畫(huà)彈出層效果,實(shí)例分析了javascript實(shí)現(xiàn)動(dòng)畫(huà)效果彈出層的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05
不錯(cuò)的用外部Javascript修正特定網(wǎng)頁(yè)內(nèi)容
不錯(cuò)的用外部Javascript修正特定網(wǎng)頁(yè)內(nèi)容...2007-08-08
在js中判斷checkboxlist(.net控件客戶(hù)端id)是否有選中
添加或修改內(nèi)容時(shí),需要對(duì)關(guān)鍵數(shù)據(jù)進(jìn)行判空處理,checkboxlist是否有選擇項(xiàng)如何使用js判斷實(shí)現(xiàn),接下來(lái)為大家詳細(xì)介紹下實(shí)現(xiàn)方法,感興趣的朋友可以參考下哈2013-04-04
詳解Js 根據(jù)文件夾目錄獲取Json數(shù)據(jù)輸出demo
這篇文章主要為大家介紹了Js 根據(jù)文件夾目錄獲取Json數(shù)據(jù)輸出示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
javascript教程:關(guān)于if簡(jiǎn)寫(xiě)語(yǔ)句優(yōu)化的方法
這篇文章主要介紹了js中if簡(jiǎn)寫(xiě)語(yǔ)句優(yōu)化的方法,需要的朋友可以參考下2014-05-05
JavaScript制作windows經(jīng)典掃雷小游戲
掃雷是一款相當(dāng)大眾的小游戲,游戲目標(biāo)是在最短的時(shí)間內(nèi)根據(jù)點(diǎn)擊格子出現(xiàn)的數(shù)字找出所有非雷格子,同時(shí)避免踩雷。今天我們來(lái)看看如何使用javascript來(lái)實(shí)現(xiàn)這款小游戲2015-03-03
(轉(zhuǎn)載)JavaScript中匿名函數(shù),函數(shù)直接量和閉包
(轉(zhuǎn)載)JavaScript中匿名函數(shù),函數(shù)直接量和閉包...2007-05-05

