这两天工作中遇到两个问题:
一个是在使用ATable的时候,由于数据是一股脑直接拿到手扔进table里面的,有翻页的情况,选中后,选中的数据与渲染的数据本身不一致。
关于这个问题,我检查了接口返回数据和传入到table中的数据,到选中数据的赋值等一系列,发现都没有问题,唯独翻页之后选择的数据不对劲,通过观察发现翻页之后选中的数据为第一页的索引位置。
所以去查询了一下,发现是table没有销毁的问题,所以我字啊table组件上加了一个key值(:key=“Date.now()”)所以每次展现就是新的展现,都不会有选中,那么问题来了,我想要默认选中怎么办呢?
通过坚持不懈的探索,发现了再rowSelection中右配置的:
rowSelection() {
return {
type: 'radio',
onChange: (selectedRowKeys, selectedRows) => {
this.selectedRows = selectedRows;
this.selectedRowKeys = selectedRowKeys;
},
getCheckboxProps: record => ({
props: {
disabled: record.nodeType === NODE_TYPE.dir,
defaultChecked: record.id === this.id
},
}),
};
},
这里的getCheckboxProps
就配置了默认选中和禁选的行数据