fix: table selection

pull/4639/head
tangjinzhou 2021-09-07 23:44:39 +08:00
parent a8b2318d1f
commit 5f640f15e3
2 changed files with 11 additions and 12 deletions

View File

@ -15,7 +15,7 @@ import type {
} from '../../interface'; } from '../../interface';
import FilterDropdownMenuWrapper from './FilterWrapper'; import FilterDropdownMenuWrapper from './FilterWrapper';
import type { FilterState } from '.'; import type { FilterState } from '.';
import { computed, defineComponent, nextTick, onBeforeUnmount, ref, watch } from 'vue'; import { computed, defineComponent, onBeforeUnmount, ref, watch } from 'vue';
import classNames from '../../../_util/classNames'; import classNames from '../../../_util/classNames';
import useConfigInject from '../../../_util/hooks/useConfigInject'; import useConfigInject from '../../../_util/hooks/useConfigInject';
import { useInjectSlots } from '../../context'; import { useInjectSlots } from '../../context';

View File

@ -1,7 +1,7 @@
import DownOutlined from '@ant-design/icons-vue/DownOutlined'; import DownOutlined from '@ant-design/icons-vue/DownOutlined';
import type { DataNode } from '../../tree'; import type { DataNode } from '../../tree';
import { INTERNAL_COL_DEFINE } from '../../vc-table'; import { INTERNAL_COL_DEFINE } from '../../vc-table';
import type { FixedType } from '../../vc-table/interface'; import type { ColumnType, FixedType } from '../../vc-table/interface';
import type { GetCheckDisabled } from '../../vc-tree/interface'; import type { GetCheckDisabled } from '../../vc-tree/interface';
import { arrAdd, arrDel } from '../../vc-tree/util'; import { arrAdd, arrDel } from '../../vc-tree/util';
import { conductCheck } from '../../vc-tree/utils/conductUtil'; import { conductCheck } from '../../vc-tree/utils/conductUtil';
@ -423,13 +423,12 @@ export default function useSelection<RecordType>(
} }
// Body Cell // Body Cell
let renderCell: ( let renderCell: ({ record, index }: { record: RecordType; index: number }) => {
_: RecordType, node: any;
record: RecordType, checked: boolean;
index: number, };
) => { node: any; checked: boolean };
if (selectionType === 'radio') { if (selectionType === 'radio') {
renderCell = (_, record, index) => { renderCell = ({ record, index }) => {
const key = getRowKey.value(record, index); const key = getRowKey.value(record, index);
const checked = keySet.has(key); const checked = keySet.has(key);
@ -450,7 +449,7 @@ export default function useSelection<RecordType>(
}; };
}; };
} else { } else {
renderCell = (_, record, index) => { renderCell = ({ record, index }) => {
const key = getRowKey.value(record, index); const key = getRowKey.value(record, index);
const checked = keySet.has(key); const checked = keySet.has(key);
const indeterminate = derivedHalfSelectedKeySet.value.has(key); const indeterminate = derivedHalfSelectedKeySet.value.has(key);
@ -572,8 +571,8 @@ export default function useSelection<RecordType>(
}; };
} }
const renderSelectionCell = (_: any, record: RecordType, index: number) => { const renderSelectionCell: ColumnType<RecordType>['customRender'] = ({ record, index }) => {
const { node, checked } = renderCell(_, record, index); const { node, checked } = renderCell({ record, index });
if (customizeRenderCell) { if (customizeRenderCell) {
return customizeRenderCell(checked, record, index, node); return customizeRenderCell(checked, record, index, node);
@ -587,7 +586,7 @@ export default function useSelection<RecordType>(
width: selectionColWidth, width: selectionColWidth,
className: `${prefixCls.value}-selection-column`, className: `${prefixCls.value}-selection-column`,
title: mergedRowSelection.value.columnTitle || title, title: mergedRowSelection.value.columnTitle || title,
render: renderSelectionCell, customRender: renderSelectionCell,
[INTERNAL_COL_DEFINE]: { [INTERNAL_COL_DEFINE]: {
class: `${prefixCls.value}-selection-col`, class: `${prefixCls.value}-selection-col`,
}, },