fix: 修复demo中formTable几个空指针报错和selectedRowKeys丢失响应式的问题 (#2386)

Co-authored-by: 王一骅 <wangyihua@yazuishou.com>
This commit is contained in:
WYH 2022-11-16 17:19:27 +08:00 committed by GitHub
parent 057b82632b
commit 6844f69c20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 7 deletions

View File

@ -40,7 +40,7 @@ export function useCustomRow(
function handleClick() {
const { rowSelection, rowKey, clickToRowSelect } = unref(propsRef);
if (!rowSelection || !clickToRowSelect) return;
const keys = getSelectRowKeys();
const keys = getSelectRowKeys() || [];
const key = getKey(record, rowKey, unref(getAutoCreateKey));
if (!key) return;

View File

@ -66,13 +66,13 @@ export function useRowSelection(
selectedRowKeysRef.value = rowKeys;
const allSelectedRows = findNodeAll(
toRaw(unref(tableData)).concat(toRaw(unref(selectedRowRef))),
(item) => rowKeys.includes(item[unref(getRowKey) as string]),
(item) => rowKeys?.includes(item[unref(getRowKey) as string]),
{
children: propsRef.value.childrenColumnName ?? 'children',
},
);
const trueSelectedRows: any[] = [];
rowKeys.forEach((key: string) => {
rowKeys?.forEach((key: string) => {
const found = allSelectedRows.find((item) => item[unref(getRowKey) as string] === key);
found && trueSelectedRows.push(found);
});

View File

@ -1,8 +1,5 @@
<template>
<BasicTable
@register="registerTable"
:rowSelection="{ type: 'checkbox', selectedRowKeys: checkedKeys, onChange: onSelectChange }"
>
<BasicTable @register="registerTable">
<template #form-custom> custom-slot </template>
<template #headerTop>
<a-alert type="info" show-icon>
@ -44,6 +41,11 @@
tableSetting: { fullScreen: true },
showIndexColumn: false,
rowKey: 'id',
rowSelection: {
type: 'checkbox',
selectedRowKeys: checkedKeys,
onChange: onSelectChange,
},
});
function getFormValues() {