vxe-table 3.20.4 → 3.20.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +106 -106
- package/es/grid/style.css +4 -0
- package/es/grid/style.min.css +1 -1
- package/es/index.css +1 -1
- package/es/index.esm.js +1 -2
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/methods.js +51 -22
- package/es/table/src/table.js +36 -0
- package/es/table/src/util.js +3 -4
- package/es/table/style.css +48 -18
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-grid/style.css +4 -0
- package/es/vxe-grid/style.min.css +1 -1
- package/es/vxe-table/style.css +48 -18
- package/lib/grid/style/style.css +4 -0
- package/lib/grid/style/style.min.css +1 -1
- package/lib/index.common.js +1 -2
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +3252 -1877
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/methods.js +4 -3
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +44 -0
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +4 -6
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +48 -18
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -2
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/vxe-colgroup/index.js +1 -2
- package/lib/vxe-colgroup/index.min.js +1 -1
- package/lib/vxe-column/index.js +1 -2
- package/lib/vxe-column/index.min.js +1 -1
- package/lib/vxe-grid/index.js +1 -2
- package/lib/vxe-grid/index.min.js +1 -1
- package/lib/vxe-grid/style/style.css +4 -0
- package/lib/vxe-grid/style/style.min.css +1 -1
- package/lib/vxe-table/index.js +1 -2
- package/lib/vxe-table/index.min.js +1 -1
- package/lib/vxe-table/style/style.css +48 -18
- package/lib/vxe-toolbar/index.js +1 -2
- package/lib/vxe-toolbar/index.min.js +1 -1
- package/lib/vxe-ui/index.js +1 -2
- package/lib/vxe-ui/index.min.js +1 -1
- package/lib/vxe-v-x-e-table/index.js +1 -2
- package/lib/vxe-v-x-e-table/index.min.js +1 -1
- package/package.json +93 -93
- package/packages/colgroup/index.ts +22 -22
- package/packages/column/index.ts +22 -22
- package/packages/components.ts +42 -42
- package/packages/grid/index.ts +22 -22
- package/packages/grid/src/grid.ts +1935 -1935
- package/packages/index.ts +4 -4
- package/packages/locale/lang/ar-EG.ts +832 -832
- package/packages/locale/lang/de-DE.ts +832 -832
- package/packages/locale/lang/en-US.ts +832 -832
- package/packages/locale/lang/es-ES.ts +832 -832
- package/packages/locale/lang/fr-FR.ts +832 -832
- package/packages/locale/lang/hu-HU.ts +832 -832
- package/packages/locale/lang/hy-AM.ts +832 -832
- package/packages/locale/lang/id-ID.ts +832 -832
- package/packages/locale/lang/it-IT.ts +832 -832
- package/packages/locale/lang/ja-JP.ts +832 -832
- package/packages/locale/lang/ko-KR.ts +832 -832
- package/packages/locale/lang/ms-MY.ts +832 -832
- package/packages/locale/lang/nb-NO.ts +832 -832
- package/packages/locale/lang/pt-BR.ts +832 -832
- package/packages/locale/lang/ru-RU.ts +832 -832
- package/packages/locale/lang/th-TH.ts +832 -832
- package/packages/locale/lang/ug-CN.ts +832 -832
- package/packages/locale/lang/uk-UA.ts +832 -832
- package/packages/locale/lang/uz-UZ.ts +832 -832
- package/packages/locale/lang/vi-VN.ts +832 -832
- package/packages/locale/lang/zh-CHT.ts +832 -832
- package/packages/locale/lang/zh-CN.ts +832 -832
- package/packages/locale/lang/zh-HK.ts +3 -3
- package/packages/locale/lang/zh-MO.ts +3 -3
- package/packages/locale/lang/zh-TC.ts +3 -3
- package/packages/locale/lang/zh-TW.ts +3 -3
- package/packages/table/index.ts +49 -49
- package/packages/table/module/custom/mixin.ts +369 -369
- package/packages/table/module/custom/panel.ts +1461 -1461
- package/packages/table/module/edit/mixin.ts +1123 -1123
- package/packages/table/module/export/export-panel.ts +658 -658
- package/packages/table/module/export/import-panel.ts +319 -319
- package/packages/table/module/export/mixin.ts +1693 -1693
- package/packages/table/module/export/util.ts +24 -24
- package/packages/table/module/filter/mixin.ts +507 -507
- package/packages/table/module/filter/panel.ts +329 -329
- package/packages/table/module/keyboard/mixin.ts +513 -513
- package/packages/table/module/menu/mixin.ts +329 -329
- package/packages/table/module/menu/panel.ts +212 -212
- package/packages/table/module/validator/mixin.ts +626 -626
- package/packages/table/render/index.ts +1456 -1456
- package/packages/table/src/body.ts +969 -969
- package/packages/table/src/cell.ts +1285 -1285
- package/packages/table/src/column.ts +205 -205
- package/packages/table/src/columnInfo.ts +228 -228
- package/packages/table/src/footer.ts +388 -388
- package/packages/table/src/group.ts +51 -51
- package/packages/table/src/header.ts +602 -602
- package/packages/table/src/methods.ts +12939 -12912
- package/packages/table/src/props.ts +311 -311
- package/packages/table/src/store.ts +15 -15
- package/packages/table/src/table.ts +2502 -2460
- package/packages/table/src/util.ts +1012 -1012
- package/packages/toolbar/index.ts +18 -18
- package/packages/toolbar/src/toolbar.ts +856 -856
- package/packages/ui/index.ts +530 -530
- package/packages/ui/src/anime.ts +52 -52
- package/packages/ui/src/comp.ts +3 -3
- package/packages/ui/src/dom.ts +236 -236
- package/packages/ui/src/log.ts +8 -8
- package/packages/ui/src/utils.ts +56 -56
- package/packages/ui/src/vn.ts +65 -65
- package/packages/v-x-e-table/index.ts +4 -4
- package/styles/all.scss +7 -7
- package/styles/base.scss +16 -16
- package/styles/components/grid.scss +89 -85
- package/styles/components/icon.scss +225 -225
- package/styles/components/old-icon.scss +715 -715
- package/styles/components/table-module/all.scss +6 -6
- package/styles/components/table-module/custom.scss +527 -527
- package/styles/components/table-module/export.scss +130 -130
- package/styles/components/table-module/filter.scss +130 -130
- package/styles/components/table-module/menu.scss +81 -81
- package/styles/components/table.scss +2679 -2679
- package/styles/components/toolbar.scss +119 -119
- package/styles/default.scss +2 -2
- package/styles/helpers/baseMixin.scss +95 -95
- package/styles/index.scss +3 -3
- package/styles/modules.scss +5 -5
- package/styles/theme/base.scss +93 -93
- package/styles/theme/dark.scss +49 -49
- package/styles/theme/light.scss +44 -44
- package/styles/variable.scss +43 -43
- package/types/all.d.ts +53 -53
- package/types/index.d.ts +4 -4
- /package/es/{iconfont.1773644050430.ttf → iconfont.1773972972913.ttf} +0 -0
- /package/es/{iconfont.1773644050430.woff → iconfont.1773972972913.woff} +0 -0
- /package/es/{iconfont.1773644050430.woff2 → iconfont.1773972972913.woff2} +0 -0
- /package/lib/{iconfont.1773644050430.ttf → iconfont.1773972972913.ttf} +0 -0
- /package/lib/{iconfont.1773644050430.woff → iconfont.1773972972913.woff} +0 -0
- /package/lib/{iconfont.1773644050430.woff2 → iconfont.1773972972913.woff2} +0 -0
|
@@ -1,205 +1,205 @@
|
|
|
1
|
-
import { PropType } from 'vue'
|
|
2
|
-
import Cell from './cell'
|
|
3
|
-
import { defineVxeComponent } from '../../ui/src/comp'
|
|
4
|
-
import { assembleColumn, destroyColumn } from './util'
|
|
5
|
-
|
|
6
|
-
import type { VxeColumnPropTypes, VxeTableConstructor, VxeTablePrivateMethods } from '../../../types'
|
|
7
|
-
|
|
8
|
-
export const columnProps = {
|
|
9
|
-
// 列唯一主键
|
|
10
|
-
colId: [String, Number],
|
|
11
|
-
// 渲染类型 seq,radio,checkbox,expand,html
|
|
12
|
-
type: String,
|
|
13
|
-
// 列字段名
|
|
14
|
-
field: String,
|
|
15
|
-
// 列标题
|
|
16
|
-
title: String,
|
|
17
|
-
// 列宽度
|
|
18
|
-
width: [Number, String],
|
|
19
|
-
// 列最小宽度,把剩余宽度按比例分配
|
|
20
|
-
minWidth: [Number, String],
|
|
21
|
-
// 列最大宽度
|
|
22
|
-
maxWidth: [Number, String],
|
|
23
|
-
// 是否允许拖动列宽调整大小
|
|
24
|
-
resizable: {
|
|
25
|
-
type: Boolean,
|
|
26
|
-
default: null
|
|
27
|
-
},
|
|
28
|
-
// 将列固定在左侧或者右侧
|
|
29
|
-
fixed: String,
|
|
30
|
-
// 列对其方式
|
|
31
|
-
align: String,
|
|
32
|
-
// 表头对齐方式
|
|
33
|
-
headerAlign: String,
|
|
34
|
-
// 表尾列的对齐方式
|
|
35
|
-
footerAlign: String,
|
|
36
|
-
// 当内容过长时显示为省略号
|
|
37
|
-
showOverflow: {
|
|
38
|
-
type: [Boolean, String],
|
|
39
|
-
default: null
|
|
40
|
-
},
|
|
41
|
-
// 当表头内容过长时显示为省略号
|
|
42
|
-
showHeaderOverflow: {
|
|
43
|
-
type: [Boolean, String],
|
|
44
|
-
default: null
|
|
45
|
-
},
|
|
46
|
-
// 当表尾内容过长时显示为省略号
|
|
47
|
-
showFooterOverflow: {
|
|
48
|
-
type: [Boolean, String],
|
|
49
|
-
default: null
|
|
50
|
-
},
|
|
51
|
-
// 给单元格附加 className
|
|
52
|
-
className: [String, Function],
|
|
53
|
-
// 给表头单元格附加 className
|
|
54
|
-
headerClassName: [String, Function],
|
|
55
|
-
// 给表尾单元格附加 className
|
|
56
|
-
footerClassName: [String, Function],
|
|
57
|
-
// 格式化显示内容
|
|
58
|
-
formatter: [Function, Array, String] as PropType<VxeColumnPropTypes.Formatter<any>>,
|
|
59
|
-
// 格式化表头显示内容
|
|
60
|
-
headerFormatter: [Function, Array, String] as PropType<VxeColumnPropTypes.HeaderFormatter>,
|
|
61
|
-
// 格式化表尾显示内容
|
|
62
|
-
footerFormatter: [Function, Array, String] as PropType<VxeColumnPropTypes.FooterFormatter>,
|
|
63
|
-
// 是否显示间距
|
|
64
|
-
padding: {
|
|
65
|
-
type: Boolean as PropType<VxeColumnPropTypes.Padding>,
|
|
66
|
-
default: null
|
|
67
|
-
},
|
|
68
|
-
// 垂直对齐方式
|
|
69
|
-
verticalAlign: {
|
|
70
|
-
type: String as PropType<VxeColumnPropTypes.VerticalAlign>,
|
|
71
|
-
default: null
|
|
72
|
-
},
|
|
73
|
-
// 是否允许排序
|
|
74
|
-
sortable: Boolean,
|
|
75
|
-
// 在 v3 中废弃
|
|
76
|
-
remoteSort: {
|
|
77
|
-
type: Boolean,
|
|
78
|
-
default: null
|
|
79
|
-
},
|
|
80
|
-
// 在 v3 中只支持字符串类型
|
|
81
|
-
sortBy: [String, Function],
|
|
82
|
-
// 排序的字段类型,比如字符串转数值等
|
|
83
|
-
sortType: String,
|
|
84
|
-
// 在 v3 中废弃
|
|
85
|
-
sortMethod: Function,
|
|
86
|
-
// 配置筛选条件数组
|
|
87
|
-
filters: {
|
|
88
|
-
type: Array,
|
|
89
|
-
default: null
|
|
90
|
-
},
|
|
91
|
-
// 筛选是否允许多选
|
|
92
|
-
filterMultiple: {
|
|
93
|
-
type: Boolean,
|
|
94
|
-
default: true
|
|
95
|
-
},
|
|
96
|
-
// 自定义筛选方法
|
|
97
|
-
filterMethod: Function as PropType<VxeColumnPropTypes.FilterMethod<any>>,
|
|
98
|
-
// 筛选重置方法
|
|
99
|
-
filterResetMethod: Function as PropType<VxeColumnPropTypes.FilterResetMethod>,
|
|
100
|
-
// 筛选复原方法
|
|
101
|
-
filterRecoverMethod: Function as PropType<VxeColumnPropTypes.FilterRecoverMethod>,
|
|
102
|
-
// 筛选模板配置项
|
|
103
|
-
filterRender: Object as PropType<VxeColumnPropTypes.FilterRender>,
|
|
104
|
-
// 是否显示浮动筛选
|
|
105
|
-
floatingFilters: Object as PropType<VxeColumnPropTypes.FloatingFilters>,
|
|
106
|
-
// 设置为分组节点
|
|
107
|
-
rowGroupNode: Boolean as PropType<VxeColumnPropTypes.RowGroupNode>,
|
|
108
|
-
// 设置为树节点
|
|
109
|
-
treeNode: Boolean as PropType<VxeColumnPropTypes.TreeNode>,
|
|
110
|
-
// 设置为拖拽排序
|
|
111
|
-
dragSort: Boolean as PropType<VxeColumnPropTypes.DragSort>,
|
|
112
|
-
// 设置为行高拖拽
|
|
113
|
-
rowResize: Boolean as PropType<VxeColumnPropTypes.RowResize>,
|
|
114
|
-
// 是否可视
|
|
115
|
-
visible: {
|
|
116
|
-
type: Boolean as PropType<VxeColumnPropTypes.Visible>,
|
|
117
|
-
default: null
|
|
118
|
-
},
|
|
119
|
-
// 表头单元格数据导出方法
|
|
120
|
-
headerExportMethod: Function,
|
|
121
|
-
// 单元格数据导出方法
|
|
122
|
-
exportMethod: Function,
|
|
123
|
-
// 表尾单元格数据导出方法
|
|
124
|
-
footerExportMethod: Function,
|
|
125
|
-
// 已废弃,被 titlePrefix 替换
|
|
126
|
-
titleHelp: Object,
|
|
127
|
-
// 标题前缀图标配置项
|
|
128
|
-
titlePrefix: Object,
|
|
129
|
-
// 标题后缀图标配置项
|
|
130
|
-
titleSuffix: Object,
|
|
131
|
-
// 单元格值类型
|
|
132
|
-
cellType: String,
|
|
133
|
-
// 单元格渲染配置项
|
|
134
|
-
cellRender: Object,
|
|
135
|
-
// 单元格编辑渲染配置项
|
|
136
|
-
editRender: Object,
|
|
137
|
-
// 内容渲染配置项
|
|
138
|
-
contentRender: Object,
|
|
139
|
-
|
|
140
|
-
// 聚合函数
|
|
141
|
-
aggFunc: [Boolean, String] as PropType<VxeColumnPropTypes.AggFunc>,
|
|
142
|
-
// 将单元格复制到剪贴板
|
|
143
|
-
copyMethod: Function as PropType<VxeColumnPropTypes.CopyMethod>,
|
|
144
|
-
// 将剪贴单元格的值清除
|
|
145
|
-
cutMethod: Function as PropType<VxeColumnPropTypes.CutMethod>,
|
|
146
|
-
// 从剪贴板赋值到单元格
|
|
147
|
-
pasteMethod: Function as PropType<VxeColumnPropTypes.PasteMethod>,
|
|
148
|
-
|
|
149
|
-
// 额外的参数
|
|
150
|
-
params: Object
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
export const columnWatch: Record<string, any> = {}
|
|
154
|
-
Object.keys(columnProps).forEach(name => {
|
|
155
|
-
columnWatch[name] = function (value: any) {
|
|
156
|
-
const $xeTable = this.$xeTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
157
|
-
|
|
158
|
-
this.columnConfig.update(name, value)
|
|
159
|
-
if ($xeTable) {
|
|
160
|
-
if (name === 'filters') {
|
|
161
|
-
$xeTable.setFilter(this.columnConfig, value)
|
|
162
|
-
$xeTable.handleUpdateDataQueue()
|
|
163
|
-
} else if (['visible', 'fixed', 'width', 'minWidth', 'maxWidth'].includes(name)) {
|
|
164
|
-
$xeTable.handleRefreshColumnQueue()
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
})
|
|
169
|
-
|
|
170
|
-
export default /* define-vxe-component start */ defineVxeComponent({
|
|
171
|
-
name: 'VxeColumn',
|
|
172
|
-
props: columnProps,
|
|
173
|
-
provide () {
|
|
174
|
-
return {
|
|
175
|
-
$xeColumn: this,
|
|
176
|
-
$xeGrid: null,
|
|
177
|
-
$xeGantt: null
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
inject: {
|
|
181
|
-
$xeTable: {
|
|
182
|
-
default: null
|
|
183
|
-
},
|
|
184
|
-
$xeColumn: {
|
|
185
|
-
default: null
|
|
186
|
-
}
|
|
187
|
-
},
|
|
188
|
-
watch: columnWatch,
|
|
189
|
-
created (this: any) {
|
|
190
|
-
const $xeTable = this.$xeTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
191
|
-
|
|
192
|
-
this.columnConfig = this.createColumn($xeTable, this)
|
|
193
|
-
},
|
|
194
|
-
mounted () {
|
|
195
|
-
this.columnConfig.slots = this.$scopedSlots
|
|
196
|
-
assembleColumn(this)
|
|
197
|
-
},
|
|
198
|
-
destroyed () {
|
|
199
|
-
destroyColumn(this)
|
|
200
|
-
},
|
|
201
|
-
render (this: any, h: any) {
|
|
202
|
-
return h('div', this.$slots.default)
|
|
203
|
-
},
|
|
204
|
-
methods: Cell
|
|
205
|
-
}) /* define-vxe-component end */
|
|
1
|
+
import { PropType } from 'vue'
|
|
2
|
+
import Cell from './cell'
|
|
3
|
+
import { defineVxeComponent } from '../../ui/src/comp'
|
|
4
|
+
import { assembleColumn, destroyColumn } from './util'
|
|
5
|
+
|
|
6
|
+
import type { VxeColumnPropTypes, VxeTableConstructor, VxeTablePrivateMethods } from '../../../types'
|
|
7
|
+
|
|
8
|
+
export const columnProps = {
|
|
9
|
+
// 列唯一主键
|
|
10
|
+
colId: [String, Number],
|
|
11
|
+
// 渲染类型 seq,radio,checkbox,expand,html
|
|
12
|
+
type: String,
|
|
13
|
+
// 列字段名
|
|
14
|
+
field: String,
|
|
15
|
+
// 列标题
|
|
16
|
+
title: String,
|
|
17
|
+
// 列宽度
|
|
18
|
+
width: [Number, String],
|
|
19
|
+
// 列最小宽度,把剩余宽度按比例分配
|
|
20
|
+
minWidth: [Number, String],
|
|
21
|
+
// 列最大宽度
|
|
22
|
+
maxWidth: [Number, String],
|
|
23
|
+
// 是否允许拖动列宽调整大小
|
|
24
|
+
resizable: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: null
|
|
27
|
+
},
|
|
28
|
+
// 将列固定在左侧或者右侧
|
|
29
|
+
fixed: String,
|
|
30
|
+
// 列对其方式
|
|
31
|
+
align: String,
|
|
32
|
+
// 表头对齐方式
|
|
33
|
+
headerAlign: String,
|
|
34
|
+
// 表尾列的对齐方式
|
|
35
|
+
footerAlign: String,
|
|
36
|
+
// 当内容过长时显示为省略号
|
|
37
|
+
showOverflow: {
|
|
38
|
+
type: [Boolean, String],
|
|
39
|
+
default: null
|
|
40
|
+
},
|
|
41
|
+
// 当表头内容过长时显示为省略号
|
|
42
|
+
showHeaderOverflow: {
|
|
43
|
+
type: [Boolean, String],
|
|
44
|
+
default: null
|
|
45
|
+
},
|
|
46
|
+
// 当表尾内容过长时显示为省略号
|
|
47
|
+
showFooterOverflow: {
|
|
48
|
+
type: [Boolean, String],
|
|
49
|
+
default: null
|
|
50
|
+
},
|
|
51
|
+
// 给单元格附加 className
|
|
52
|
+
className: [String, Function],
|
|
53
|
+
// 给表头单元格附加 className
|
|
54
|
+
headerClassName: [String, Function],
|
|
55
|
+
// 给表尾单元格附加 className
|
|
56
|
+
footerClassName: [String, Function],
|
|
57
|
+
// 格式化显示内容
|
|
58
|
+
formatter: [Function, Array, String] as PropType<VxeColumnPropTypes.Formatter<any>>,
|
|
59
|
+
// 格式化表头显示内容
|
|
60
|
+
headerFormatter: [Function, Array, String] as PropType<VxeColumnPropTypes.HeaderFormatter>,
|
|
61
|
+
// 格式化表尾显示内容
|
|
62
|
+
footerFormatter: [Function, Array, String] as PropType<VxeColumnPropTypes.FooterFormatter>,
|
|
63
|
+
// 是否显示间距
|
|
64
|
+
padding: {
|
|
65
|
+
type: Boolean as PropType<VxeColumnPropTypes.Padding>,
|
|
66
|
+
default: null
|
|
67
|
+
},
|
|
68
|
+
// 垂直对齐方式
|
|
69
|
+
verticalAlign: {
|
|
70
|
+
type: String as PropType<VxeColumnPropTypes.VerticalAlign>,
|
|
71
|
+
default: null
|
|
72
|
+
},
|
|
73
|
+
// 是否允许排序
|
|
74
|
+
sortable: Boolean,
|
|
75
|
+
// 在 v3 中废弃
|
|
76
|
+
remoteSort: {
|
|
77
|
+
type: Boolean,
|
|
78
|
+
default: null
|
|
79
|
+
},
|
|
80
|
+
// 在 v3 中只支持字符串类型
|
|
81
|
+
sortBy: [String, Function],
|
|
82
|
+
// 排序的字段类型,比如字符串转数值等
|
|
83
|
+
sortType: String,
|
|
84
|
+
// 在 v3 中废弃
|
|
85
|
+
sortMethod: Function,
|
|
86
|
+
// 配置筛选条件数组
|
|
87
|
+
filters: {
|
|
88
|
+
type: Array,
|
|
89
|
+
default: null
|
|
90
|
+
},
|
|
91
|
+
// 筛选是否允许多选
|
|
92
|
+
filterMultiple: {
|
|
93
|
+
type: Boolean,
|
|
94
|
+
default: true
|
|
95
|
+
},
|
|
96
|
+
// 自定义筛选方法
|
|
97
|
+
filterMethod: Function as PropType<VxeColumnPropTypes.FilterMethod<any>>,
|
|
98
|
+
// 筛选重置方法
|
|
99
|
+
filterResetMethod: Function as PropType<VxeColumnPropTypes.FilterResetMethod>,
|
|
100
|
+
// 筛选复原方法
|
|
101
|
+
filterRecoverMethod: Function as PropType<VxeColumnPropTypes.FilterRecoverMethod>,
|
|
102
|
+
// 筛选模板配置项
|
|
103
|
+
filterRender: Object as PropType<VxeColumnPropTypes.FilterRender>,
|
|
104
|
+
// 是否显示浮动筛选
|
|
105
|
+
floatingFilters: Object as PropType<VxeColumnPropTypes.FloatingFilters>,
|
|
106
|
+
// 设置为分组节点
|
|
107
|
+
rowGroupNode: Boolean as PropType<VxeColumnPropTypes.RowGroupNode>,
|
|
108
|
+
// 设置为树节点
|
|
109
|
+
treeNode: Boolean as PropType<VxeColumnPropTypes.TreeNode>,
|
|
110
|
+
// 设置为拖拽排序
|
|
111
|
+
dragSort: Boolean as PropType<VxeColumnPropTypes.DragSort>,
|
|
112
|
+
// 设置为行高拖拽
|
|
113
|
+
rowResize: Boolean as PropType<VxeColumnPropTypes.RowResize>,
|
|
114
|
+
// 是否可视
|
|
115
|
+
visible: {
|
|
116
|
+
type: Boolean as PropType<VxeColumnPropTypes.Visible>,
|
|
117
|
+
default: null
|
|
118
|
+
},
|
|
119
|
+
// 表头单元格数据导出方法
|
|
120
|
+
headerExportMethod: Function,
|
|
121
|
+
// 单元格数据导出方法
|
|
122
|
+
exportMethod: Function,
|
|
123
|
+
// 表尾单元格数据导出方法
|
|
124
|
+
footerExportMethod: Function,
|
|
125
|
+
// 已废弃,被 titlePrefix 替换
|
|
126
|
+
titleHelp: Object,
|
|
127
|
+
// 标题前缀图标配置项
|
|
128
|
+
titlePrefix: Object,
|
|
129
|
+
// 标题后缀图标配置项
|
|
130
|
+
titleSuffix: Object,
|
|
131
|
+
// 单元格值类型
|
|
132
|
+
cellType: String,
|
|
133
|
+
// 单元格渲染配置项
|
|
134
|
+
cellRender: Object,
|
|
135
|
+
// 单元格编辑渲染配置项
|
|
136
|
+
editRender: Object,
|
|
137
|
+
// 内容渲染配置项
|
|
138
|
+
contentRender: Object,
|
|
139
|
+
|
|
140
|
+
// 聚合函数
|
|
141
|
+
aggFunc: [Boolean, String] as PropType<VxeColumnPropTypes.AggFunc>,
|
|
142
|
+
// 将单元格复制到剪贴板
|
|
143
|
+
copyMethod: Function as PropType<VxeColumnPropTypes.CopyMethod>,
|
|
144
|
+
// 将剪贴单元格的值清除
|
|
145
|
+
cutMethod: Function as PropType<VxeColumnPropTypes.CutMethod>,
|
|
146
|
+
// 从剪贴板赋值到单元格
|
|
147
|
+
pasteMethod: Function as PropType<VxeColumnPropTypes.PasteMethod>,
|
|
148
|
+
|
|
149
|
+
// 额外的参数
|
|
150
|
+
params: Object
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export const columnWatch: Record<string, any> = {}
|
|
154
|
+
Object.keys(columnProps).forEach(name => {
|
|
155
|
+
columnWatch[name] = function (value: any) {
|
|
156
|
+
const $xeTable = this.$xeTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
157
|
+
|
|
158
|
+
this.columnConfig.update(name, value)
|
|
159
|
+
if ($xeTable) {
|
|
160
|
+
if (name === 'filters') {
|
|
161
|
+
$xeTable.setFilter(this.columnConfig, value)
|
|
162
|
+
$xeTable.handleUpdateDataQueue()
|
|
163
|
+
} else if (['visible', 'fixed', 'width', 'minWidth', 'maxWidth'].includes(name)) {
|
|
164
|
+
$xeTable.handleRefreshColumnQueue()
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
|
|
170
|
+
export default /* define-vxe-component start */ defineVxeComponent({
|
|
171
|
+
name: 'VxeColumn',
|
|
172
|
+
props: columnProps,
|
|
173
|
+
provide () {
|
|
174
|
+
return {
|
|
175
|
+
$xeColumn: this,
|
|
176
|
+
$xeGrid: null,
|
|
177
|
+
$xeGantt: null
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
inject: {
|
|
181
|
+
$xeTable: {
|
|
182
|
+
default: null
|
|
183
|
+
},
|
|
184
|
+
$xeColumn: {
|
|
185
|
+
default: null
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
watch: columnWatch,
|
|
189
|
+
created (this: any) {
|
|
190
|
+
const $xeTable = this.$xeTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
191
|
+
|
|
192
|
+
this.columnConfig = this.createColumn($xeTable, this)
|
|
193
|
+
},
|
|
194
|
+
mounted () {
|
|
195
|
+
this.columnConfig.slots = this.$scopedSlots
|
|
196
|
+
assembleColumn(this)
|
|
197
|
+
},
|
|
198
|
+
destroyed () {
|
|
199
|
+
destroyColumn(this)
|
|
200
|
+
},
|
|
201
|
+
render (this: any, h: any) {
|
|
202
|
+
return h('div', this.$slots.default)
|
|
203
|
+
},
|
|
204
|
+
methods: Cell
|
|
205
|
+
}) /* define-vxe-component end */
|