위 챗 애플 릿 picker 다 열 선택 기(mode=multiSelector)
1.효과 그림(다 열)
2.일반 선택 기:mode=selector,다 중 선택 기:mode=multiSelector
문서 주소:위 챗 개발 문서
picker
:array: [' ', ' ', ' ', ' ']
:multiArray: [[' ', ' '], [' ', ' ', ' ', ' ', ' '], [' ', ' ']]
app.json
{
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/picker/picker"
],
"entryPagePath": "pages/picker/picker",
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "Weixin",
"navigationBarTextStyle": "black"
},
"sitemapLocation": "sitemap.json",
"usingComponents": {
"van-button": "@vant/weapp/button/index",
"van-area": "@vant/weapp/area/index"
}
}
4.picker.wxml
<!--pages/picker/picker.wxml-->
<view>
<view class="section__title"> </view>
<picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange"
value="{{multiIndex}}" range="{{newArr}}">
<view class="picker">
: <van-button type="primary">
{{newArr[0][multiIndex[0]]}},{{newArr[1][multiIndex[1]]}},{{newArr[2][multiIndex[2]]}}</van-button>
</view>
</picker>
</view>
5.picker.js :mode = multiSelector
배열 형식 을 주의 깊 게 보 세 요:multiArray
있 습 니 다children
.2 차원 배열 을 처리 해 야 합 니 다.
// pages/picker/picker.js
Page({
/**
*
*/
data: {
multiArray: [{
id: 1,
label: " ",
children: [{
id: 2,
label: " ",
children: [{
id: 3,
label: " ",
},
{
id: 4,
label: " ",
},
{
id: 5,
label: " ",
},
],
},
{
id: 7,
label: " ",
children: [{
id: 8,
label: " ",
},
{
id: 9,
label: " ",
},
{
id: 10,
label: " ",
},
],
},
{
id: 12,
label: " ",
children: [{
id: 13,
label: " ",
},
{
id: 14,
label: " ",
},
{
id: 15,
label: " ",
},
],
},
],
},
{
id: 17,
label: " ",
children: [{
id: 18,
label: " ",
children: [{
id: 19,
label: " ",
},
{
id: 20,
label: " ",
},
],
},
{
id: 21,
label: " ",
children: [{
id: 22,
label: " ",
},
{
id: 23,
label: " ",
},
],
},
],
},
],
multiIndex: [0, 0, 0],
multiIds: [],
newArr: [],
},
bindMultiPickerChange(e) {
console.log(this.data.multiIds);
},
bindMultiPickerColumnChange(e) {
let data = {
newArr: this.data.newArr,
multiIndex: this.data.multiIndex,
multiIds: this.data.multiIds,
};
data.multiIndex[e.detail.column] = e.detail.value;
let searchColumn = () => {
let arr1 = [];
let arr2 = [];
this.data.multiArray.map((v, vk) => {
if (data.multiIndex[0] === vk) {
data.multiIds[0] = {
...v,
};
v.children.map((c, ck) => {
arr1.push(c.label);
if (data.multiIndex[1] === ck) {
data.multiIds[1] = {
...c,
};
c.children.map((t, vt) => {
arr2.push(t.label);
if (data.multiIndex[2] === vt) {
data.multiIds[2] = {
...t,
};
}
});
}
});
}
});
data.newArr[1] = arr1;
data.newArr[2] = arr2;
};
switch (e.detail.column) {
case 0:
//
data.multiIndex[1] = 0;
data.multiIndex[2] = 0;
//
searchColumn();
break;
case 1:
data.multiIndex[2] = 0;
searchColumn();
break;
}
this.setData(data);
},
/**
* --
*/
onLoad: function (options) {
let state = {
arr: [],
arr1: [],
arr2: [],
arr3: [],
multiIds: []
}
this.data.multiArray.map((v, vk) => {
state.arr1.push(v.label);
if (this.data.multiIndex[0] === vk) {
state.multiIds[0] = v;
}
if (state.arr2.length <= 0) {
v.children.map((c, ck) => {
state.arr2.push(c.label);
if (this.data.multiIndex[1] === ck) {
state.multiIds[1] = c;
}
if (state.arr3.length <= 0) {
c.children.map((t, tk) => {
state.arr3.push(t.label);
if (this.data.multiIndex[2] === tk) {
state.multiIds[2] = t;
}
});
}
});
}
});
state.arr[0] = state.arr1;
state.arr[1] = state.arr2;
state.arr[2] = state.arr3;
this.setData({
newArr: state.arr,
multiIds: state.multiIds,
});
},
/**
* --
*/
onReady: function () {},
/**
* --
*/
onShow: function () {},
/**
* --
*/
onHide: function () {},
/**
* --
*/
onUnload: function () {},
/**
* --
*/
onPullDownRefresh: function () {},
/**
*
*/
onReachBottom: function () {},
/**
*
*/
onShareAppMessage: function () {},
});
위 챗 애플 릿 picker 다 중 선택 기(mode=multiSelector)에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 애플 릿 picker 다 중 선택 기 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
애플 릿 이미지 새로 고침, nginx 재 작성 url 제거 인자이전에 nginx 로 이미지 서버 를 만 들 었 는데 전단 에 작은 프로그램 을 사 용 했 습 니 다. 작은 프로그램 이 출시 된 후에 그림 이 새로 고침 되 지 않 는 것 을 발 견 했 습 니 다. 조사 한 결과 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.