微信小程序开发中怎样实现地址页面三级联动

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

微信小程序开发中怎样实现地址页面三级联动

我遇到的问题是

后端给我的数据里面有每一个地址对应的ID,比如北京:2 北京:50 东城区:500

处理这个数据的时候,我根据原来大神的代码做了一些修改,

let val = e.detail.value,            t = this.data.values,            cityData = this.data.cityData,            index = this.data.id,            list = this.data.addrList;            list[index].area = true;            try {                if (val[0] != t[0]) { //当val是选择省份的时候                const citys = [];                const countys = [];                    cityData[val[0]].child.map(item => citys.push({name:item.name,id:item.id}));                    cityData[val[0]].child[0].child.map(item => countys.push({name:item.name,id:item.id}));                    list[index].provinceName = this.data.provinces[val[0]].name;//省份                    list[index].cityName = cityData[val[0]].child[0].name;//城市                    list[index].districtName = cityData[val[0]].child[0].child[0].name;//地区                    list[index].province = this.data.provinces[val[0]].id;//对应的传值ID                    list[index].city = cityData[val[0]].child[0].id;//对应的传值ID                    list[index].district = cityData[val[0]].child[0].child[0].id;//对应的传值ID                this.setData({                    citys: citys,                    countys: countys,                    values: val,                    value: [val[0], 0, 0],                    addrList: list                })                    return;                }                if (val[1] != t[1]) {//当val是选择城市的时候                    const countys = [];                    cityData[val[0]].child[val[1]].child.map(item => countys.push({name:item.name,id:item.id}));                    list[index].cityName = this.data.citys[val[1]].name;// 选择城市                    list[index].city = this.data.citys[val[1]].id;//对应的传值ID                    list[index].districtName = cityData[val[0]].child[val[1]].child[0].name;//选择城市对应的地区                    list[index].district = cityData[val[0]].child[val[1]].child[0].id;//对应的传值ID                    this.setData({                        countys: countys,                        values: val,                        value: [val[0], val[1], 0],                        addrList: list                    })                    return;                }                if (val[2] != t[2]) {//当val是选择地区的时候                    list[index].districtName = this.data.countys[val[2]].name;//选择地区                    list[index].district = this.data.countys[val[2]].id;//对应的传值ID                    this.setData({                        county: this.data.countys[val[2]].name,                        values: val,                        addrList: list                    })                    return;                }                } catch(e) {                // statements                console.log(e);            }list里面是有 收货人,电话,等等信息  但是我只操作改变数组里面地址改变的信息,
登录后复制

布局方面需要做一些修改的地方就是

相信看了本文案例你已经掌握了方法,更多精彩请关注9543建站博客其它相关文章!

推荐阅读:

微信小程序开发容器视图的使用

如何操作js找出字符串中最长回文串

以上就是微信小程序开发中怎样实现地址页面三级联动的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。

作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:PHP Notice- A non well formed numeric value encountered的解决方法
下一篇:微信开发之Maven仓库管理及新建WEB项目的步骤详解

发表评论

关闭广告
关闭广告