重现链接
Vant Weapp 版本
1.10.11
描述一下你遇到的问题。
// 循环加
setOptions(selectedOptions, data) {
// let ddd = this.data.options
let _options = this.data.options;
selectedOptions.forEach((item, index) => {
if (index) {
//不是第一个则取下一级children
_options = _options.children;
}
_options =
_options[_options.findIndex((_item) => _item.value === item.value)];
});
//找到最后一级
_options.children = data.map((item) => {
return {
text: item.name,
value: item.id,
disabled: item.disabled,
// 是否有下级
children: item.nodeNum > 0 ? [] : null,
};
});
console.log(_options);
console.log(this.data.options);
this.setData({
options: this.data.options
})
},
重现步骤
// 循环加
setOptions(selectedOptions, data) {
// let ddd = this.data.options
let _options = this.data.options;
selectedOptions.forEach((item, index) => {
if (index) {
//不是第一个则取下一级children
_options = _options.children;
}
_options =
_options[_options.findIndex((_item) => _item.value === item.value)];
});
//找到最后一级
_options.children = data.map((item) => {
return {
text: item.name,
value: item.id,
disabled: item.disabled,
// 是否有下级
children: item.nodeNum > 0 ? [] : null,
};
});
console.log(_options);
console.log(this.data.options);
this.setData({
options: this.data.options
})
},
设备/浏览器
微信原生小程序
6条答案
按热度按时间acruukt91#
我遇到的问题:完整的三级省市区数据的时候会非常卡,卡个6、7秒才有响应。改成按需加载,二级城市数据出不来,数据源是已经有children数据的
dw1jzc5e2#
和楼主遇到相同的问题,onchange事件动态添加children,无法渲染出来
`switch (e.detail.value.length) {
case 2:
userApi.addressCity(e.detail.value, (res) => {
let index = this.data.addressOptions.findIndex(s => s.value === e.detail.value)
if (res.succeeded) {
this.setData({
['addressOptions[' + index + '].children']: res.data,
})
console.log('结束后', this.data.addressOptions);
}
})
svmlkihl3#
有解决吗?
unguejic4#
已解决,解决方法如下,修改组件内部代码,修改内容和行数如下图:
有大佬知道方法也可以指出来。。自己写的代码有点垃圾
gv8xihay5#
楼上那位你在哪个文件改的啊?
zzlelutf6#
楼上那位你在哪个文件改的啊?
#5260