知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
支付寶小程序?qū)崿F(xiàn)自定義地區(qū)三級聯(lián)動
發(fā)表時間:2020-9-21
發(fā)布人:葵宇科技
瀏覽次數(shù):167
支付寶小程序自定義地區(qū)三級聯(lián)動
場景數(shù)據(jù)結(jié)構(gòu):
[{
"id": 110000,
"name": "北京市",
"children": [{
"id": "110100",
"name": "北京市",
"children": [{
"id": "110101",
"name": "東城區(qū)"
}]
}]
}]
view
<popup show="{{showArea}}" position="bottom" onClose="onPopupClose">
<view class="pop-flex">
<view onTap="onPopupClose">取消</view>
<view onTap="bindMultiPickerChange" class="confirm">確定</view>
</view>
<view>
<picker-view value="{{areaIndex}}" onChange="bindMultiPickerColumnChange" class="mypicker">
<!-- 省 -->
<picker-view-column>
<block a:for="{{provinceList}}">
<view key="{{item.id}}">{{item.name}}</view>
</block>
</picker-view-column>
<!-- 市 -->
<picker-view-column>
<block a:for="{{cityList}}">
<view key="{{item.id}}">{{item.name}}</view>
</block>
</picker-view-column>
<!-- 縣 -->
<picker-view-column>
<block a:for="{{districtList}}">
<view key="{{item.id}}">{{item.name}}</view>
</block>
</picker-view-column>
</picker-view>
</view>
</popup>
js
data:{
areaAddress: '',
provinceList: [], // 省份列表
cityList: [], // 市縣列表
districtList: [], // 區(qū)縣列表
areaIndex: [0, 0, 0], // 索引
},
// 方法
// 初始化三級地區(qū)
initArea() {
var self = this;
// 初始化數(shù)據(jù)
let initIndex = self.data.areaIndex
let provinceId, cityId, areaId, provinceName, cityName, areaName
provinceId = areaList.data[initIndex[0]].id
provinceName = areaList.data[initIndex[0]].name
cityId = areaList.data[initIndex[0]].children[initIndex[1]].id
cityName = areaList.data[initIndex[0]].children[initIndex[1]].name
areaId = areaList.data[initIndex[0]].children[initIndex[1]].children[initIndex[2]].id
areaName = areaList.data[initIndex[0]].children[initIndex[1]].children[initIndex[2]].name
// 初始化列表數(shù)據(jù)
self.setData({
'form.province': provinceId,
'form.city': cityId,
'form.area': areaId,
areaAddress: provinceName + cityName + areaName,
provinceList: areaList.data,
cityList: areaList.data[0].children,
districtList: areaList.data[0].children[0].children
})
},
// 選擇地址——填充選擇框——填充上傳數(shù)據(jù)
bindMultiPickerChange() {
let self = this
let initIndex = self.data.areaIndex
let provinceId, cityId, areaId, provinceName, cityName, areaName
provinceId = self.data.provinceList[initIndex[0]].id
provinceName = self.data.provinceList[initIndex[0]].name
cityId = self.data.provinceList[initIndex[0]].children[initIndex[1]].id
cityName = self.data.provinceList[initIndex[0]].children[initIndex[1]].name
areaId = self.data.provinceList[initIndex[0]].children[initIndex[1]].children[initIndex[2]].id
areaName = self.data.provinceList[initIndex[0]].children[initIndex[1]].children[initIndex[2]].name
self.setData({
'form.province': provinceId,
'form.city': cityId,
'form.area': areaId,
areaAddress: provinceName + cityName + areaName,
showArea: false
})
},
// 滑動地址
bindMultiPickerColumnChange(e) {
let self = this
let newIndexArr = e.detail.value
// 監(jiān)聽第一列
if (newIndexArr[0] !== self.data.areaIndex[0]) {
// 滑動第一列——初始化第二列和第三列的數(shù)據(jù)
let initArr = [newIndexArr[0], 0, 0]
self.setData({
areaIndex: initArr,
cityList: self.data.provinceList[initArr[0]].children,
districtList: self.data.provinceList[initArr[0]].children[0].children
})
return
}
// 監(jiān)聽第二列滑動
if (newIndexArr[1] !== self.data.areaIndex[1]) {
// 滑動第一列——初始化第二列和第三列的數(shù)據(jù)
let initArr = [newIndexArr[0], newIndexArr[1], 0]
self.setData({
areaIndex: initArr,
districtList: self.data.provinceList[initArr[0]].children[initArr[1]].children
})
return
}
// 監(jiān)聽第三列
self.setData({
areaIndex: newIndexArr
})
}
相關(guān)案例查看更多
相關(guān)閱讀
- 支付寶小程序被騙
- 昆明小程序開發(fā)聯(lián)系方式
- 云南小程序代建
- 網(wǎng)站建設(shè)開發(fā)
- 昆明軟件定制公司
- web開發(fā)技術(shù)
- APP
- 云南網(wǎng)站建設(shè)選
- 云南小程序開發(fā)課程
- 網(wǎng)站建設(shè)公司哪家好
- 楚雄網(wǎng)站建設(shè)公司
- 云南建設(shè)廳網(wǎng)站
- 云南etc微信小程序
- 云南網(wǎng)站建設(shè)案例
- 云南軟件開發(fā)
- 排名
- web前端
- 高端網(wǎng)站建設(shè)公司
- 網(wǎng)站上首頁
- 云南網(wǎng)站建設(shè) 網(wǎng)絡(luò)服務(wù)
- 保山小程序開發(fā)
- 汽車報廢回收軟件
- Web開發(fā)框架
- 百度快速排名
- 昆明小程序代建
- 云南花農(nóng)小程序
- 云南網(wǎng)站建設(shè)百度官方
- 網(wǎng)站優(yōu)化公司
- 網(wǎng)站建設(shè)
- 云南網(wǎng)站建設(shè)