跳至主要內容

表格

Mr.Hope大约 3 分钟

表格

TableWidget 类提供了丰富的表格功能,包括复选框、行号、行点击事件等,继承自 BaseTableWidget

属性

fixedHeight

  • 类型: number | string | false
  • 说明: 定义表格的固定高度。如果为 false,则不设置固定高度。

响应式属性

checkbox

  • 类型: boolean
  • 默认值: true
  • 说明: 是否在表格中启用复选框列。

lineHeight

  • 类型: number | undefined
  • 说明: 定义表格每一行的高度。

enableSequence

  • 类型: boolean
  • 默认值: false
  • 说明: 是否在表格中启用行号列。

defaultPageSize

  • 类型: number
  • 说明: 表格分页的默认每页条目数。

activeCount

  • 类型: number | undefined
  • 说明: 定义表格中活动行的数量,用于某些特定的动态显示逻辑。

inlineActiveCount

  • 类型: number | undefined
  • 说明: 内联表格的活动行数量。

allowChecked

  • 类型: string | boolean | undefined
  • 说明: 控制哪些行可以被选中的条件。

operatorColumnDirection

  • 类型: string | undefined
  • 说明: 定义操作列的方向。

operatorColumnWidth

  • 类型: string | undefined
  • 说明: 定义操作列的宽度。

operatorColumnButtonType

  • 类型: string | undefined
  • 说明: 操作列按钮的类型。

expandAccordion

  • 类型: boolean
  • 默认值: false
  • 说明: 是否以手风琴模式展开行详情。

expandAll

  • 类型: boolean
  • 默认值: false
  • 说明: 是否默认展开所有行的详情。

expandOperationField

  • 类型: string | undefined
  • 说明: 控制行详情展开的字段名称。

expandRowIndexes

  • 类型: number[]
  • 说明: 当前展开的行索引数组。

lazyExistExpandRow

  • 类型: boolean
  • 说明: 用于延迟判断是否存在展开的行详情,以优化性能。

existExpandRow

  • 类型: boolean
  • 说明: 是否存在展开的行详情。

usingSimpleUserPrefer

  • 类型: boolean | undefined
  • 说明: 是否使用简化的用户偏好设置。

showFooter

  • 类型: boolean | undefined
  • 说明: 是否显示表格脚注。

statisticsLabel

  • 类型: string
  • 说明: 统计行的标签文本,例如“合计”。

skipStatisticsText

  • 类型: string
  • 说明: 统计行中跳过的列显示的文本。

emptyStatisticsText

  • 类型: string
  • 说明: 统计结果为空时显示的文本。

statisticsFun

  • 类型: string | undefined
  • 说明: 用于远程获取统计数据的函数名称。

refreshRemoteStatistics

  • 类型: boolean | undefined
  • 说明: 是否在每次刷新表格数据时同时刷新远程统计数据。

remoteStatisticsRow

  • 类型: string[] | undefined
  • 说明: 远程获取的统计行数据。

rowClickActionDslDefinition

  • 类型: ActionDslDefinition | undefined
  • 说明: 行点击动作的 DSL 定义。

rowDblClickActionDslDefinition

  • 类型: ActionDslDefinition | undefined
  • 说明: 行双击动作的 DSL 定义。

allowRowClick

  • 类型: boolean
  • 说明: 是否允许行点击事件。

rowClickMode

  • 类型: TableRowClickMode[] | undefined
  • 说明: 定义行点击的模式,如单击或双击。

方法

initialize(props: Props)

  • 初始化表格组件,并设置默认表格模板。
  • 参数:
    • props: 组件的属性。

checkMethod({ row }: { row: ActiveRecord })

  • 定义复选框是否可以被选中的规则。
  • 参数:
    • row: 当前行的数据。

onPaginationChange(current: number, pageSize: number)

  • 分页发生变化时的处理函数。
  • 参数:
    • current: 当前页码。
    • pageSize: 每页显示的条数。

onSortChange(sortList: ISort[])

  • 排序发生变化时的处理函数。
  • 参数:
    • sortList: 排序规则数组。

onToggleRowExpand({ expanded, rowIndex })

  • 切换行详情展开/折叠时的处理函数。
  • 参数:
    • expanded: 是否展开。
    • rowIndex: 行索引。

onResizableChange({ column })

  • 列宽度调整后的处理函数,用于保存用户的列宽偏好设置。
  • 参数:
    • column: 被调整宽度的列信息。

footerMethod({ columns, data }: { columns: VxeTableDefines.ColumnInfo[]; data: ActiveRecord[] })

  • 表格脚注的渲染函数,用于展示统计信息等。
  • 参数:
    • columns: 列信息数组。
    • data: 当前页的数据数组。

onRowClick({ column, row })

  • 行点击事件的处理函数。
  • 参数:
    • column: 被点击的列信息。
    • row: 被点击的行数据。

onRowDblClick({ column, row })

  • 行双击事件的处理函数。
  • 参数:
    • column: 被双击的列信息。
    • row: 被双击的行数据。

请注意,为了确保文档的完整性,每个属性和方法都已包含在内,除了明确标记为内部使用的。如果需要对特定方法或属性的更详细说明,请提供具体的要求。

如何替换

import {
  SPI,
  BaseElementWidget,
  ViewType,
  TABLE_WIDGET,
  TableWidget,
} from "@kunlun/dependencies";

@SPI.ClassFactory(
  BaseElementWidget.Token({
    viewType: ViewType.TABLE,
    widget: ["table", TABLE_WIDGET],
  })
)
export class CustomTableWidget extends TableWidget {}