vant-weapp van-cascader 动态添加数据,视图不

6ie5vjzr  于 2023-03-19  发布在  Vant
关注(0)|答案(6)|浏览(1300)

重现链接

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
})
},

设备/浏览器

微信原生小程序

acruukt9

acruukt91#

我遇到的问题:完整的三级省市区数据的时候会非常卡,卡个6、7秒才有响应。改成按需加载,二级城市数据出不来,数据源是已经有children数据的

dw1jzc5e

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);
}
})

break;
        case 4:

            break;
        case 6:

            break;

        default:
            break;
    }`
unguejic

unguejic4#

已解决,解决方法如下,修改组件内部代码,修改内容和行数如下图:

有大佬知道方法也可以指出来。。自己写的代码有点垃圾

gv8xihay

gv8xihay5#

楼上那位你在哪个文件改的啊?

zzlelutf

zzlelutf6#

楼上那位你在哪个文件改的啊?
#5260

相关问题