diff --git a/components/apolloTable/component/Column.tsx b/components/apolloTable/component/Column.tsx index 09261cab37c9a9592f1685dc4f6b4dcbdfb6b265..44371247a2074f70c40aafc6a84475894649229a 100644 --- a/components/apolloTable/component/Column.tsx +++ b/components/apolloTable/component/Column.tsx @@ -44,18 +44,22 @@ export default class TableColumn extends PureComponent { } const onToggle = () => { if (typeof onChange === 'function') { - const data = _.cloneDeep(selectIds); + // 初始为传过来的选中数据 + const data = _.cloneDeep(selectedRows); dataSource.map((item: any) => { + // 当前操作是否操作了选中数据 const index = data.findIndex((temp: any) => { - return temp === item.id; + return temp.id === item.id; }); if (checked) { + // 反选,从data中删除 index > -1 && data.splice(index, 1); } else { + // 全选,data中没有的新增 index === -1 && data.push(item); } }); - + // data为最终选中的数据(此处使用完整数据不使用id,为了兼容之前的业务逻辑) onChange(data); } };