mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 13:39:24 +08:00
feat: add clearSelectedRowKeys and setSelectedRowKeys methods to table context
This commit is contained in:
parent
da9d2714a4
commit
81096afb9a
@ -21,7 +21,7 @@ import { useCreation, useDeepCompareEffect, useMemoizedFn } from 'ahooks';
|
|||||||
import { Table as AntdTable, Skeleton, TableColumnProps } from 'antd';
|
import { Table as AntdTable, Skeleton, TableColumnProps } from 'antd';
|
||||||
import { default as classNames, default as cls } from 'classnames';
|
import { default as classNames, default as cls } from 'classnames';
|
||||||
import _, { omit } from 'lodash';
|
import _, { omit } from 'lodash';
|
||||||
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { useInView } from 'react-intersection-observer';
|
import { useInView } from 'react-intersection-observer';
|
||||||
import { DndContext, useDesignable, useTableSize } from '../..';
|
import { DndContext, useDesignable, useTableSize } from '../..';
|
||||||
@ -30,6 +30,7 @@ import {
|
|||||||
RecordProvider,
|
RecordProvider,
|
||||||
useCollection,
|
useCollection,
|
||||||
useCollectionParentRecordData,
|
useCollectionParentRecordData,
|
||||||
|
useDataBlockRequest,
|
||||||
useSchemaInitializerRender,
|
useSchemaInitializerRender,
|
||||||
useTableSelectorContext,
|
useTableSelectorContext,
|
||||||
} from '../../../';
|
} from '../../../';
|
||||||
@ -42,7 +43,6 @@ import { useToken } from '../__builtins__';
|
|||||||
import { SubFormProvider } from '../association-field/hooks';
|
import { SubFormProvider } from '../association-field/hooks';
|
||||||
import { ColumnFieldProvider } from './components/ColumnFieldProvider';
|
import { ColumnFieldProvider } from './components/ColumnFieldProvider';
|
||||||
import { extractIndex, isCollectionFieldComponent, isColumnComponent } from './utils';
|
import { extractIndex, isCollectionFieldComponent, isColumnComponent } from './utils';
|
||||||
import { useDataBlockRequest } from '../../../';
|
|
||||||
const MemoizedAntdTable = React.memo(AntdTable);
|
const MemoizedAntdTable = React.memo(AntdTable);
|
||||||
|
|
||||||
const useArrayField = (props) => {
|
const useArrayField = (props) => {
|
||||||
@ -486,6 +486,19 @@ export const Table: any = withDynamicSchemaProps(
|
|||||||
|
|
||||||
const highlightRow = useMemo(() => (onClickRow ? highlightRowCss : ''), [highlightRowCss, onClickRow]);
|
const highlightRow = useMemo(() => (onClickRow ? highlightRowCss : ''), [highlightRowCss, onClickRow]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (ctx?.field) {
|
||||||
|
ctx.field.data = ctx.field?.data || {};
|
||||||
|
|
||||||
|
ctx.field.data.clearSelectedRowKeys = () => {
|
||||||
|
ctx.field.data.selectedRowKeys = [];
|
||||||
|
setSelectedRowKeys([]);
|
||||||
|
};
|
||||||
|
|
||||||
|
ctx.field.data.setSelectedRowKeys = setSelectedRowKeys;
|
||||||
|
}
|
||||||
|
}, [ctx?.field]);
|
||||||
|
|
||||||
const onRow = useMemo(() => {
|
const onRow = useMemo(() => {
|
||||||
if (onClickRow) {
|
if (onClickRow) {
|
||||||
return (record) => {
|
return (record) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user