youzan / vant-weapp

轻量、可靠的小程序 UI 组件库
https://vant.pro/vant-weapp/
MIT License
17.81k stars 3.48k forks source link

Cascader动态异步添加数据不显示 #5387

Closed erosiners closed 1 year ago

erosiners commented 1 year ago

重现链接


  data: {
    show: false,
    options: [] as Province[],
    cascaderValue: '',
    fieldNames: {
      text: 'areaName',
      value: 'areaCode',
    }
  },

onFinish(e: WechatMiniprogram.CustomEvent) {
    const { selectedOptions, value, tabIndex } = e.detail;
    console.log(tabIndex, value)
    switch (tabIndex) {
      case 0:
        this.getCityList(value);
        break;
      case 1:
        break;
      case 2:
        break;
      default:
        break;
    }
  },

  getCityList(value: any) {
    commonApi.getCity(value).then(res => {
      const { options } = this.data;
      const index = options.findIndex(r => r.areaCode === value)
      this.setData({ ['options[' + index + '].children']: res.data });
      console.log(this.data.options)
      console.log(this.data.options[index])
    }).catch(e => {
      console.log(e);
    });
  },```

### Vant Weapp 版本

v1.10.19

### 描述一下你遇到的问题。

点击获取数据,setData数据是更新成功了的,但是页面未刷新
关闭弹窗页面重新选择之前选择的项,数据能正常显示
例如:选择辽宁,数据设置进去后,页面数据不刷新,关闭页面,再打开选择辽宁可以正常渲染
只要是之前没选择过的都要关闭后再选择才会渲染
项目是TS开发不知道是否有关系

![image](https://github.com/youzan/vant-weapp/assets/6299779/e793eec6-4011-45db-95b4-1760eb63ba7a)

### 重现步骤

本地数据没有问题 如果用网络数据 在onChange 回调请求网络 不显示
最新版本
![image](https://github.com/youzan/vant-weapp/assets/6299779/1fc163c3-a0e9-4015-a071-572960f0f770)

### 设备/浏览器

_No response_
landluck commented 1 year ago

v1.10.19 版本已修复

erosiners commented 1 year ago

问题我就是用的1.10.19版本啊,不然我也不会发上来对吧

973240647 commented 1 year ago

我也遇到了,动态数据不渲染,怎么解决啊,然后我的编辑器还会一直闪烁,真机预览不闪烁

simin-xxm commented 4 months ago

我也遇到了这种问题,必须重新加载组件才能用