react下自定义Table

本文详细介绍了可编辑表格配置项及其属性,包括表格ID、名称、样式、虚拟化组件等,帮助开发者更好地理解和使用该组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import React from "react"

/**

 * EditableTable配置数据的数据类型

 */

export type EditableTableData = {

    /**

     * 表格id,建议保持唯一性

     */

    id?: string,

    /**

     * 表名,用以缓存配置使用,不设置则不缓存

     */

    name?: string,

    style?: any,

    /**

     * title配置,保留

     */

    title?: any,

    /**

     * Table高度随容器自动改变。

     * 注意:设置dock,所在容器高度必须设置(支持calc)。

     */

    dock?: boolean,

    /**

     * dock==true时,用于调整y高度的偏移量。为保持box-shadow等样式效果,默认预留4-8px

     */

    dockOffset?: number,

    /**

     * .ant-table-body类名,prefixCls不同时设置

     */

    bodyClassName?: string,

    /**

     * 多主题时用于设置antd类名前缀

     */

    prefixCls?: string,

    /**

     * Table.className

     */

    className?: string,

    /**

     * 行类名

     */

    rowClassName?: any,

    bordered?: boolean,

    size?: "small" | "middle" | "large",

    dataSource: any[],

    selectedRowKeys?: any[],

    columns: any[],

    expandable?: any,

    /**

     * 缓存

     */

    cache?: boolean,

    /**

     * 性能控制

     * normal:去除一些不必要的动作

     * extreme:摈除所有不必要的动作

     */

    burst?: "default" | "normal" | "extreme",

    /**

     * 默认有分页,不要分页请设置为false

     */

    pagination?: any,

    /**

     * Table.scroll,在dock==true时,scroll.y不再起效果

     */

    scroll?: any,

    loading: boolean,

    /**

     * 虚拟化组件(flexible组件专用)

     */

    virtual?: any,

    /**

     * 手动设置虚拟列表高度(flexible组件专用)

     */

    virtualHeight?: number,

    height?: number,

    /**

     * 没有数据提示文字

     */

    emptyText?: string,

    /**

     * footer

     */

    footer?: () => React.ReactNode,

    changeColumns?: (cols: any[], index: number) => void,

    resetColumns?: () => void,

    /**

     * 指定key

     */

    rowKey?: any,

    /**

     * 自动组织行拖动排序后的数据

     */

    dragself?: boolean,

    draggerWidth?: number,

    /**

     * 拖动模式:row-行,dragger-拖动图标

     */

    dragType?: "row" | "dragger",

    onRowSelect?: (record: any, selected: boolean, rows: any[]) => void,

    onRowClick?: (record: any) => void,

    onSelectChange?: (selectedRowKeys: any[], updateCallback: (updatedKeys: any[]) => void, selectedRows: any[]) => void,

    /**

     * 回调改变后的所有数据

     */

    click?: (records: any[]) => void,

    /**

     * 行拖动完毕回调

     * @param results 排序完成结果

     * @param target 拖动行

     * @param touch 受理行

     */

    dragment?: (results: any[], target: any, touch: any) => void,

    /**

     * 编辑行保存回调

     */

    onSave?: (record: any) => void,

    /**

     * 使用简易配置(列宽、行排序、行间double、高亮拖动行)

     */

    quickable?: boolean,

    /**

     * 列排序

     */

    columnSortable?: boolean,

    /**

     * 拖拽列宽(设置true,则列排序不可使用)

     */

    columnSizable?: boolean,

    /**

     * 列是否可移除

     */

    columnRemovable?: boolean,

    /**

     * 行排序

     */

    rowSortable?: boolean,

    /**

     * 行只读

     */

    rowReadonly?: boolean,

    /**

     * 行间模式:默认不设置,2行间 | 3行间

     */

    rowSplitMode?: undefined | "default" | "double" | "triple",

    /**

     * 是否高亮拖动排序后的行,只在设置rowSortable=true时有效

     */

    rowLightSorted?: true,

}

export type FlexibleTableData = Omit<EditableTableData, "virtual"> | {components?: any}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值