export default class DSJTable { events: Array | undefined; //表格头部事件数组 assignData!: Function; //渲染数据方法 //渲染数据方法 assignProps: any; //渲染数据数据属性 fetchTableData!: Function; //获取数据方法 //获取数据方法 columns!: Array; //表格列數組 //表格列數組 height!: string | number; //table 的高度,默认为自动高度。如果 height 为 number 类型,单位 px;如果 height 为 string 类型,则这个高度会设置为 Table 的 style.height 的值,Table 的高度会受控于外部样式 //table 的高度,默认为自动高度。如果 height 为 number 类型,单位 px;如果 height 为 string 类型,则这个高度会设置为 Table 的 style.height 的值,Table 的高度会受控于外部样式 maxHeight!: string | number; //Table 的最大高度。合法的值为数字或者单位为 px 的高度。 //Table 的最大高度。合法的值为数字或者单位为 px 的高度。 stripe!: boolean; //是否为斑马纹 table //是否为斑马纹 table border!: boolean; //是否带有纵向边框 //是否带有纵向边框 size!: string; //Table 的尺寸 //Table 的尺寸 fit!: boolean; //列的宽度是否自撑开 //列的宽度是否自撑开 showHeader!: boolean; //是否显示表头 //是否显示表头 highlightCurrentRow!: boolean; //是否要高亮当前行 //是否要高亮当前行 rowClassName!: Function | string; //行的 className 的回调方法,也可以使用字符串为所有行设置一个固定的 className。 //行的 className 的回调方法,也可以使用字符串为所有行设置一个固定的 className。 rowStyle!: Function | string; //行的 style 的回调方法,也可以使用一个固定的 Object 为所有行设置一样的 Style。 //行的 style 的回调方法,也可以使用一个固定的 Object 为所有行设置一样的 Style。 cellClassName!: Function | string; //单元格的 className 的回调方法,也可以使用字符串为所有单元格设置一个固定的 className。 //单元格的 className 的回调方法,也可以使用字符串为所有单元格设置一个固定的 className。 cellStyle!: Function | object; //单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有单元格设置一样的 Style。 //单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有单元格设置一样的 Style。 headerRowClassName!: Function | string; //表头行的 className 的回调方法,也可以使用字符串为所有表头行设置一个固定的 className。 //表头行的 className 的回调方法,也可以使用字符串为所有表头行设置一个固定的 className。 headerRowStyle!: Function | object; //表头行的 style 的回调方法,也可以使用一个固定的 Object 为所有表头行设置一样的 Style。 function({ row, rowIndex }) / //表头行的 style 的回调方法,也可以使用一个固定的 Object 为所有表头行设置一样的 Style。 function({ row, rowIndex }) / headerCellClassName!: Function | string; //表头单元格的 className 的回调方法,也可以使用字符串为所有表头单元格设置一个固定的 className。 //表头单元格的 className 的回调方法,也可以使用字符串为所有表头单元格设置一个固定的 className。 headerCellStyle!: Function | object; //表头单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有表头单元格设置一样的 Style。 //表头单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有表头单元格设置一样的 Style。 rowKey!: Function | string; //行数据的 Key,用来优化 Table 的渲染;在使用 reserve-selection 功能与显示树形数据时,该属性是必填的。类型为 String 时,支持多层访问:user.info.id,但不支持 user.info[0].id,此种情况请使用 Function //行数据的 Key,用来优化 Table 的渲染;在使用 reserve-selection 功能与显示树形数据时,该属性是必填的。类型为 String 时,支持多层访问:user.info.id,但不支持 user.info[0].id,此种情况请使用 Function emptyText!: string; //空数据时显示的文本内容 //空数据时显示的文本内容 defaultExpandAll!: boolean; //是否默认展开所有行,当 Table 包含展开行存在或者为树形表格时有效 //是否默认展开所有行,当 Table 包含展开行存在或者为树形表格时有效 defaultSort!: object; //默认的排序列的 prop 和顺序。它的 prop 属性指定默认的排序的列,order 指定默认排序的顺序 //默认的排序列的 prop 和顺序。它的 prop 属性指定默认的排序的列,order 指定默认排序的顺序 tooltipEffect!: string; //tooltip effect 属性 //tooltip effect 属性 showSummary!: boolean; //是否在表尾显示合计行 //是否在表尾显示合计行 sumText!: string; //合计行第一列的文本 //合计行第一列的文本 summaryMethod!: Function; //自定义的合计计算方法 //自定义的合计计算方法 spanMethod!: Function; //合并行或列的计算方法 //合并行或列的计算方法 selectOnIndeterminate!: boolean; //在多选表格中,当仅有部分行被选中时,点击表头的多选框时的行为。若为 true,则选中所有行;若为 false,则取消选择所有行 //在多选表格中,当仅有部分行被选中时,点击表头的多选框时的行为。若为 true,则选中所有行;若为 false,则取消选择所有行 indent!: number; //展示树形数据时,树节点的缩进 //展示树形数据时,树节点的缩进 lazy!: boolean; //是否懒加载子节点数据 //是否懒加载子节点数据 load!: Function; //加载子节点数据的函数,lazy 为 true 时生效,函数第二个参数包含了节点的层级信息 //加载子节点数据的函数,lazy 为 true 时生效,函数第二个参数包含了节点的层级信息 treeProps!: object; //渲染嵌套数据的配置选项 //渲染嵌套数据的配置选项 select!: Function; //当用户手动勾选数据行的 Checkbox 时触发的事件 selection, row //当用户手动勾选数据行的 Checkbox 时触发的事件 selection, row selectAll!: Function; //当用户手动勾选全选 Checkbox 时触发的事件 selection //当用户手动勾选全选 Checkbox 时触发的事件 selection selectionChange!: Function; //当选择项发生变化时会触发该事件 selection //当选择项发生变化时会触发该事件 selection cellMouseEnter!: Function; //当单元格 hover 进入时会触发该事件 row, column, cell, event //当单元格 hover 进入时会触发该事件 row, column, cell, event cellMouseLeave!: Function; //当单元格 hover 退出时会触发该事件 row, column, cell, event //当单元格 hover 退出时会触发该事件 row, column, cell, event cellClick!: Function; //当某个单元格被点击时会触发该事件 row, column, cell, event //当某个单元格被点击时会触发该事件 row, column, cell, event cellDblclick!: Function; //当某个单元格被双击击时会触发该事件 row, column, cell, event //当某个单元格被双击击时会触发该事件 row, column, cell, event cellContextmenu!: Function; //当某个单元格被鼠标右键点击时会触发该事件 row, column, cell, event //当某个单元格被鼠标右键点击时会触发该事件 row, column, cell, event rowClick!: Function; //当某一行被点击时会触发该事件 row, column, event //当某一行被点击时会触发该事件 row, column, event rowContextmenu!: Function; //当某一行被鼠标右键点击时会触发该事件 row, column, event //当某一行被鼠标右键点击时会触发该事件 row, column, event rowDblclick!: Function; //当某一行被双击时会触发该事件 row, column, event //当某一行被双击时会触发该事件 row, column, event headerClick!: Function; //当某一列的表头被点击时会触发该事件 column, event //当某一列的表头被点击时会触发该事件 column, event headerContextmenu!: Function; //当某一列的表头被鼠标右键点击时触发该事件 column, event //当某一列的表头被鼠标右键点击时触发该事件 column, event sortChange!: Function; //当表格的排序条件发生变化的时候会触发该事件{ column, prop, order } //当表格的排序条件发生变化的时候会触发该事件{ column, prop, order } filterChange!: Function; //当表格的筛选条件发生变化的时候会触发该事件,参数的值是一个对象,对象的 key 是 column 的 columnKey,对应的 value 为用户选择的筛选条件的数组。(filters) //当表格的筛选条件发生变化的时候会触发该事件,参数的值是一个对象,对象的 key 是 column 的 columnKey,对应的 value 为用户选择的筛选条件的数组。(filters) currentChange!: Function; //当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性(currentRow, oldCurrentRow) //当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性(currentRow, oldCurrentRow) headerDragend!: Function; //当拖动表头改变了列的宽度的时候会触发该事件(newWidth, oldWidth, column, event) //当拖动表头改变了列的宽度的时候会触发该事件(newWidth, oldWidth, column, event) expandChange!: Function; //当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded)row, (expandedRows | expanded) //当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded)row, (expandedRows | expanded) hiddenSelection!: boolean; //隐藏选项框 //隐藏选项框 hiddenIndex!: boolean; //隐藏序号 //隐藏序号 showPagination!: boolean; //是否显示分页 //是否显示分页 isMulti!: boolean; //是否多选 //是否多选 constructor(opt: any) { Object.assign( this, { events: [], fetchTableData: () => {}, assignProps: { num: "current", size: "size", total: "total", data: "records", }, columns: [], height: "100%", maxHeight: "100%", stripe: false, border: false, size: "", fit: true, showHeader: true, highlightCurrentRow: false, rowClassName: "", rowStyle: {}, cellClassName: "", cellStyle: {}, headerRowClassName: "dsj-table-header", headerRowStyle: {}, headerCellClassName: "", headerCellStyle: {}, rowKey: "id", emptyText: "暂无数据", defaultExpandAll: false, defaultSort: {}, tooltipEffect: "dark", showSummary: false, sumText: "合计", summaryMethod: () => {}, spanMethod: () => {}, selectOnIndeterminate: true, indent: 16, lazy: false, load: () => {}, treeProps: { children: "children" }, select: () => {}, selectAll: () => {}, selectionChange: () => {}, cellMouseEnter: () => {}, cellMouseLeave: () => {}, cellClick: () => {}, cellDblclick: () => {}, cellContextmenu: () => {}, rowClick: () => {}, rowContextmenu: () => {}, rowDblclick: () => {}, headerClick: () => {}, headerContextmenu: () => {}, sortChange: () => {}, filterChange: () => {}, currentChange: () => {}, headerDragend: () => {}, expandChange: () => {}, hiddenSelection: false, hiddenIndex: true, showPagination: true, isMulti: true }, opt, {} ); } }