import type { PropType, ExtractPropTypes, ComponentPublicInstance } from "vue"; import type { ColumnGroupType, Key, TableRowSelection, ColumnType } from "ant-design-vue/lib/table/interface"; import { AntDesignVueTableHelper } from "./ant-design-vue-table-helper"; import type { TableHelper } from "../table-helper"; import type { AntDesignVueFormModelFieldArgs } from "../n-form"; import type { FormItemControlType } from "../form-helper"; export declare const nTableProps: () => { readonly disabledRowKeys: { readonly type: PropType; readonly default: () => never[]; }; readonly showNumberColumn: { readonly type: PropType & { startIndex: number; })>; readonly default: false; }; readonly columns: { readonly type: PropType>[]>; readonly default: () => never[]; }; readonly rowSelection: { readonly type: PropType>; }; readonly rowKey: { readonly type: PropType | undefined>; readonly default: "key"; }; readonly dataSource: { readonly type: PropType; readonly default: () => never[]; }; readonly pagination: { readonly type: PropType; readonly default: true; }; readonly customRow: { readonly type: PropType | undefined>; }; readonly childrenColumnName: { readonly type: PropType; readonly default: "children"; }; readonly columnConfig: { readonly type: PropType>; readonly default: () => {}; }; /** * 禁用自适应高度. * 禁用后, 表格的内容(tbody)高度将不会随着容器的高度变化而变化. */ readonly disabledAdaptiveHeight: { readonly type: BooleanConstructor; readonly default: false; }; readonly rowClassName: { readonly type: PropType | undefined>; }; /** * 是否显示斑马纹 */ readonly striped: { readonly type: BooleanConstructor; readonly default: false; }; /** * 是否启用编辑功能 */ readonly editable: { readonly type: BooleanConstructor; readonly default: false; }; /** * 是否可以通过点击行来将改行变为编辑状态 */ readonly editByClickRow: { readonly type: BooleanConstructor; readonly default: true; }; /** * 当可编辑时, 用于配置可编辑的字段. 与 {@link NForm} 的 fields 属性一致. */ readonly fields: { readonly type: PropType[]>; readonly default: () => never[]; }; readonly size: { readonly type: PropType; readonly default: "small"; }; readonly onResizeColumn: { readonly type: PropType<(w: number, col: ColumnType) => void>; }; /** * 当前编辑的行的 key */ readonly editedRowKey: { readonly type: PropType; }; readonly "onUpdate:editedRowKey": { readonly type: PropType<(data: Array) => void>; readonly default: () => void; }; readonly contextSlots: { readonly type: PropType<{ bodyEditableCell: ({ text, record, index, column }: { text: string; record: TableHelper.RecordType; index: number; column: NTableColumn; }) => any; bodyEditableCellControl: ({ text, record, index, column }: { text: string; record: TableHelper.RecordType; index: number; column: NTableColumn; }) => any; }>; readonly default: () => {}; }; readonly storageKey: { type: StringConstructor; }; readonly disabledStorable: { type: BooleanConstructor; }; }; export declare type NTableProps = ExtractPropTypes>; export interface NTableEmits { "update:editedRowKey": (data: Array) => void; } export interface NTableExpose { saveEditedRow: (needValidate: boolean) => void; cancelEditedRow: () => void; editRow: (rowKey: Key, needValidate: boolean) => void; } export declare type NTableInstance = ComponentPublicInstance; export declare const nEasyTableProps: () => { readonly tableHelper: { readonly type: typeof AntDesignVueTableHelper; readonly required: true; }; readonly columns: { readonly type: PropType>[]>; readonly default: () => never[]; }; }; export declare type NEasyTableProps = ExtractPropTypes>; export declare type NEasyTableInstance = ComponentPublicInstance; export interface ColumnConfig { /** * 是否可拖拽调整列宽 */ resizable: boolean; } declare type NestColumnConfig = Record; /** * 表格列的配置项 */ export interface NTableColumnConfig extends ColumnConfig { /** * 可通过此属性单独指定某个列的配置属性. */ columns?: Record; } export declare type NTableColumn = ColumnGroupType & ColumnType & NTableColumnExtraOptions; /** * 额外的列选项 */ export declare type NTableColumnExtraOptions = { /** * 该列是否可见 */ visible: boolean; /** * 列排序时的的优先级 */ order: number; }; export interface NTableRowSelection extends TableRowSelection { /** * 已选择行的 key */ selectedRowKeys: Array; /** * 已选择行的数据 */ selectedRows: Array; /** * 禁用的行的 key */ disabledRowKeys: Array; /** * 选择行变化时的回调 */ onChange: Required["onChange"]; /** * 重置已选择行 */ reset: () => void; /** * 选择或取消选择行 * @param data 行数据 * @param selected 是否选中 * @param force 是否包括被禁用的行 */ select: (data: TableHelper.RecordType, selected?: boolean, force?: boolean) => void; /** * 判断行是否被选中 * @param data 行数据 */ isSelected: (data: TableHelper.RecordType) => boolean; /** * 选择或取消选择所有行 * @param selected 是否选中 * @param force 是否包括被禁用的行 */ selectAll: (selected?: boolean, force?: boolean) => void; /** * 判断是否所有行都被选中. 如果 excludeDisabledRow 为 true, 被禁用的行不会被计算在内. * @param excludeDisabledRow 是否排除被禁用的行. 默认为 false. */ isAllSelected: (excludeDisabledRow?: boolean) => boolean; /** * 被选中的行数是否为 0 */ isNoneSelected: () => boolean; } export {};