Skip to content

[cascader] 修改 option,数据无法正确更新 #2071

@LovePlayCode

Description

@LovePlayCode

tdesign-mobile-vue 版本

1.11.0

重现链接

No response

重现步骤

  <t-cascader

    v-model:visible="areaVisible"
    :options="areaOptions"
    theme="tab"
    placeholder="请选择地区"

    @pick="handleAreaPick"
  />
function handleAreaPick(context: { value: string | number, label: string, index: number, level: number }) {
  const { level, value } = context

  // 更新选中值
  areaValue.value = value

  // 根据层级动态加载下一级数据
  if (level === 0) {
    areaOptions.value[0] = {
      ...areaOptions.value[0],
      children: [{ label: '太原市', value: '1234', children: [] }],
    }
  }
  else if (level === 1) {
    // debugger
    // loadStreetData(value as string)
    areaOptions.value[0].children[0] = {
      ...areaOptions.value[0].children[0],
      children: [{ label: '测试', value: '88', children: [] }],
    }
  }
 
}

期望结果

可以正常更新,实际上组件流转是不对的。

Image

实际结果

No response

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions