Browse Source

fix(FormTable): fix table spread selection(#2565) (#2574)

Co-authored-by: luojingzhou <luojingzhou@kezaihui.com>
pull/2575/head
luojz 4 years ago
committed by GitHub
parent
commit
5335ae7578
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 25
      src/views/demo/table/FormTable.vue

25
src/views/demo/table/FormTable.vue

@ -44,7 +44,8 @@
rowSelection: {
type: 'checkbox',
selectedRowKeys: checkedKeys,
onChange: onSelectChange,
onSelect: onSelect,
onSelectAll: onSelectAll,
},
});
@ -52,16 +53,30 @@
console.log(getForm().getFieldsValue());
}
function onSelectChange(selectedRowKeys: (string | number)[]) {
console.log(selectedRowKeys);
checkedKeys.value = selectedRowKeys;
function onSelect(record, selected) {
if (selected) {
checkedKeys.value = [...checkedKeys.value, record.id];
} else {
checkedKeys.value = checkedKeys.value.filter((id) => id !== record.id);
}
}
function onSelectAll(selected, selectedRows, changeRows) {
const changeIds = changeRows.map((item) => item.id);
if (selected) {
checkedKeys.value = [...checkedKeys.value, ...changeIds];
} else {
checkedKeys.value = checkedKeys.value.filter((id) => {
return !changeIds.includes(id);
});
}
}
return {
registerTable,
getFormValues,
checkedKeys,
onSelectChange,
onSelect,
onSelectAll,
};
},
});

Loading…
Cancel
Save