当使用具有单选模式的数据网格时,在呈现数据网格后 - 如果我们尝试通过更新绑定到的变量来设置当前选择的值,则[(clrDgSingleSelected)]
即使正在设置的对象是相应的单选按钮也不会被“选中”按值等于数据网格项之一。仅当对象通过引用数据网格中的一项而相等时,该选择才有效。
使用[(clrDgSelected)]
.
重现行为的步骤:
- 以显示用户列表并使用“trackById”的数据网格为例。
- 在组件构造函数中,尝试设置单选值,但使用克隆对象。
setTimeout(() => {
this.selectedUser = {...this.users[2]};
}, 4000);
在现实生活中 - 不是有意克隆对象 - 但是已经有一个希望设置为选择的对象,并且数据网格刚刚使用来自服务器的新数据进行渲染,它们都是新创建的对象。datagrid 中的对象之一按值匹配要选择的对象,但不按引用匹配。
Stackblitz(单选问题):https ://stackblitz.com/edit/clarity-v2-dg-selection
Stackblitz(多选问题):https ://stackblitz.com/edit/clarity-v2-dg-selection-multiple
我确实在 Clarity ( https://github.com/vmware/clarity/issues/4250 )上打开了一个错误,但有人提到它是一个使用问题。
我希望 Clarity 团队的某个人重新审视这种情况并提出解决方法/修复。