Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Cascader] options 传入 相反的 value 选项时候,出现冲突,交互异常 #3344

Open
DevQiao opened this issue Jan 24, 2025 · 4 comments
Labels
enhancement New feature or request

Comments

@DevQiao
Copy link

DevQiao commented Jan 24, 2025

tdesign-react 版本

1.5.3 以上 应该一直有问题

重现链接

https://stackblitz.com/edit/jmcnsivb?file=src%2Fdemo.tsx

重现步骤

[
{
label: '选项一',
value: '1',
children: [
{
label: '子选项一',
value: '1.1',
},
{
label: '子选项二',
value: '1.2',
},
],
},
{
label: '子选项一',
value: '1.1',
children: [
{
label: '选项一',
value: '1',
},
],
},
]

这个 options 数组的结构,选项一是父级,子选项一是子级

同时存在一个 选项一是子级,子选项一是父级

这种情况下 交互异常,核心原因 valueType="full" 时,选出的数组 没有按序判断,只要存在 value 数组的值 都会被选中,忽略了父子级关系

期望结果

按父子级序,设定最终选中的值

实际结果

交互异常,组件选中值冲突

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

级联组件应该有层级关系,这是组件的基本属性,如果选中值失去层级关系,这个意义在哪里?
基础问题,请尽快fix

Copy link
Contributor

👋 @DevQiao,感谢给 TDesign 提出了 issue。
请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

@uyarn
Copy link
Collaborator

uyarn commented Jan 26, 2025

不是相反的选项的原因 是存在相同value的原因 目前的设计 不在同一级也不允许

@uyarn uyarn added the usage label Jan 26, 2025
@DevQiao
Copy link
Author

DevQiao commented Jan 28, 2025

可能我表述的不够清晰,相同value导致问题我已悉知

但作为有层级属性的级联组件,[value1,value2] 和 [value2,value1]
导致组建逻辑错误 这是一个bug

对于该issue,我认为应该加入对数组这种有序数据结构的考量,而不是只要数组里有这个值,即认为被选中

在业务方向,通过后台配置下发options的case,约束用户自发配置,从而保障唯一value,会引入额外冗余逻辑

如果官方认为这没问题,我将在节后补充Ant Design和字节对应组件库的效果

@uyarn uyarn added enhancement New feature or request and removed usage labels Feb 5, 2025
@uyarn
Copy link
Collaborator

uyarn commented Feb 5, 2025

已沟通 [value1, value2] 和 [value2, value1] 在 valueType=full 场景下可以组成唯一key 需要支持

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants