Tencent / tdesign-miniprogram

A Wechat MiniProgram UI components lib for TDesign.
https://tdesign.tencent.com/miniprogram
MIT License
1.24k stars 280 forks source link

[Checkbox-group] group里面不是直接引用checkbox多次渲染会导致checkbox的选中和group的value不一致。 #3324

Open LiuXiao617111 opened 1 hour ago

LiuXiao617111 commented 1 hour ago

tdesign-miniprogram 版本

1.7.1

重现链接

No response

重现步骤

JS

const groupData = new Map() newVal.options.forEach(item => { const key = item.group_name if (!groupData.has(key)) { groupData.set(key, []) } groupData.get(key).push(item) }); if (groupData.size > 0) { groupData.forEach((value, key) => { const myArr = Array.from(value) myArr.sort(() => Math.random() - 0.5) groupData.set(key, myArr) }) const arr = [...groupData] this.setData({ group_options: arr }) } else { this.setData({ group_options: [{ key: '', value: newVal.options }] }) }

view

`

{{group[0]}}

`

期望结果

checkbox的选中状态与checkboxValue一致。

实际结果

紧凑型

基础库版本

3.5.7

补充说明

多次重新渲染之后,由于myArr.sort(() => Math.random() - 0.5)这个进行乱序排序,导致checkbox的选中状态与checkboxValue不一样。 已经多次确定checkbox正确。 如果删除block直接在checkbox-group里面直接循环这个checkbox进行随机排序,也不会出现问题。

github-actions[bot] commented 1 hour ago

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