vxe-table 4.19.11 → 4.19.13

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.
Files changed (53) hide show
  1. package/dist/all.esm.js +227 -220
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/style.css +1 -1
  7. package/es/style.min.css +1 -1
  8. package/es/table/module/menu/panel.js +7 -7
  9. package/es/table/src/cell.js +16 -12
  10. package/es/table/src/columnInfo.js +77 -77
  11. package/es/table/src/table.js +7 -3
  12. package/es/table/style.css +29 -13
  13. package/es/table/style.min.css +1 -1
  14. package/es/ui/index.js +1 -1
  15. package/es/ui/src/log.js +1 -1
  16. package/es/vxe-table/style.css +29 -13
  17. package/es/vxe-table/style.min.css +1 -1
  18. package/lib/index.css +1 -1
  19. package/lib/index.min.css +1 -1
  20. package/lib/index.umd.js +259 -249
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/style.min.css +1 -1
  24. package/lib/table/module/menu/panel.js +8 -8
  25. package/lib/table/module/menu/panel.min.js +1 -1
  26. package/lib/table/src/cell.js +6 -4
  27. package/lib/table/src/cell.min.js +1 -1
  28. package/lib/table/src/columnInfo.js +85 -77
  29. package/lib/table/src/columnInfo.min.js +1 -1
  30. package/lib/table/src/table.js +3 -3
  31. package/lib/table/src/table.min.js +1 -1
  32. package/lib/table/style/style.css +29 -13
  33. package/lib/table/style/style.min.css +1 -1
  34. package/lib/ui/index.js +1 -1
  35. package/lib/ui/index.min.js +1 -1
  36. package/lib/ui/src/log.js +1 -1
  37. package/lib/ui/src/log.min.js +1 -1
  38. package/lib/vxe-table/style/style.css +29 -13
  39. package/lib/vxe-table/style/style.min.css +1 -1
  40. package/package.json +2 -2
  41. package/packages/table/module/menu/panel.ts +7 -7
  42. package/packages/table/src/cell.ts +16 -12
  43. package/packages/table/src/columnInfo.ts +80 -80
  44. package/packages/table/src/table.ts +7 -3
  45. package/packages/table/src/util.ts +1 -1
  46. package/styles/components/table-module/menu.scss +5 -2
  47. package/styles/components/table.scss +24 -6
  48. /package/es/{iconfont.1781074420923.ttf → iconfont.1781229243647.ttf} +0 -0
  49. /package/es/{iconfont.1781074420923.woff → iconfont.1781229243647.woff} +0 -0
  50. /package/es/{iconfont.1781074420923.woff2 → iconfont.1781229243647.woff2} +0 -0
  51. /package/lib/{iconfont.1781074420923.ttf → iconfont.1781229243647.ttf} +0 -0
  52. /package/lib/{iconfont.1781074420923.woff → iconfont.1781229243647.woff} +0 -0
  53. /package/lib/{iconfont.1781074420923.woff2 → iconfont.1781229243647.woff2} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.19.11",
3
+ "version": "4.19.13",
4
4
  "description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -69,7 +69,7 @@
69
69
  "typescript": "~4.7.4",
70
70
  "vue": "3.4.27",
71
71
  "vue-router": "~4.5.1",
72
- "vxe-pc-ui": "4.14.34"
72
+ "vxe-pc-ui": "4.14.35"
73
73
  },
74
74
  "vetur": {
75
75
  "tags": "helper/vetur/tags.json",
@@ -35,8 +35,8 @@ export default defineVxeComponent({
35
35
  const { ctxMenuStore } = tableReactData
36
36
  const { computeMenuOpts } = $xeTable.getComputeMaps()
37
37
  const menuOpts = computeMenuOpts.value
38
- const { transfer, destroyOnClose } = menuOpts
39
- const { visible, list, className } = ctxMenuStore
38
+ const { transfer, destroyOnClose, className } = menuOpts
39
+ const { visible, list } = ctxMenuStore
40
40
 
41
41
  return h(Teleport, {
42
42
  to: 'body',
@@ -53,7 +53,7 @@ export default defineVxeComponent({
53
53
  return options.every(item => item.visible === false)
54
54
  ? renderEmptyElement($xeTable)
55
55
  : h('ul', {
56
- class: 'vxe-context-menu--option-wrapper',
56
+ class: 'vxe-table--context-menu-group-wrapper',
57
57
  key: gIndex
58
58
  }, options.map((item, index) => {
59
59
  const { children, loading } = item
@@ -66,7 +66,7 @@ export default defineVxeComponent({
66
66
  return item.visible === false
67
67
  ? renderEmptyElement($xeTable)
68
68
  : h('li', {
69
- class: [item.className, {
69
+ class: ['vxe-table--context-menu--option', item.className, {
70
70
  'link--loading': loading,
71
71
  'link--disabled': item.disabled,
72
72
  'link--active': item === ctxMenuStore.selected
@@ -116,12 +116,12 @@ export default defineVxeComponent({
116
116
  suffixOpts.content ? h('span', `${suffixOpts.content}`) : renderEmptyElement($xeTable)
117
117
  ])
118
118
  ]),
119
- hasChildMenus && item.children
119
+ hasChildMenus && children
120
120
  ? h('ul', {
121
121
  class: ['vxe-table--context-menu-clild-wrapper', {
122
122
  'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
123
123
  }]
124
- }, item.children.map((child, cIndex) => {
124
+ }, children.map((child, cIndex) => {
125
125
  const { loading: childLoading } = child
126
126
  const childPrefixOpts = Object.assign({}, child.prefixConfig)
127
127
  const childPrefixIcon = childPrefixOpts.icon || child.prefixIcon
@@ -131,7 +131,7 @@ export default defineVxeComponent({
131
131
  return child.visible === false
132
132
  ? null
133
133
  : h('li', {
134
- class: [child.className, {
134
+ class: ['vxe-table--context-menu--option', child.className, {
135
135
  'link--loading': childLoading,
136
136
  'link--disabled': child.disabled,
137
137
  'link--active': child === ctxMenuStore.selectChild
@@ -996,24 +996,28 @@ export const Cell = {
996
996
  }
997
997
  return renderCellBaseVNs(params, [
998
998
  showIcon && (!visibleMethod || visibleMethod(params))
999
- ? h('span', {
999
+ ? h('div', {
1000
1000
  class: ['vxe-table--expanded', {
1001
1001
  'is--active': isActive
1002
- }],
1003
- onMousedown (evnt) {
1004
- evnt.stopPropagation()
1005
- },
1006
- onClick (evnt: MouseEvent) {
1007
- $table.triggerRowExpandEvent(evnt, params)
1008
- }
1002
+ }]
1009
1003
  }, [
1010
- h('i', {
1011
- class: ['vxe-table--expand-btn', isLazyLoading ? (iconLoaded || getIcon().TABLE_EXPAND_LOADED) : (isActive ? (iconOpen || getIcon().TABLE_EXPAND_OPEN) : (iconClose || getIcon().TABLE_EXPAND_CLOSE))]
1012
- })
1004
+ h('span', {
1005
+ class: 'vxe-table--expand-btn',
1006
+ onMousedown (evnt) {
1007
+ evnt.stopPropagation()
1008
+ },
1009
+ onClick (evnt: MouseEvent) {
1010
+ $table.triggerRowExpandEvent(evnt, params)
1011
+ }
1012
+ }, [
1013
+ h('i', {
1014
+ class: isLazyLoading ? (iconLoaded || getIcon().TABLE_EXPAND_LOADED) : (isActive ? (iconOpen || getIcon().TABLE_EXPAND_OPEN) : (iconClose || getIcon().TABLE_EXPAND_CLOSE))
1015
+ })
1016
+ ])
1013
1017
  ])
1014
1018
  : renderEmptyElement($table),
1015
1019
  defaultSlot || labelField
1016
- ? h('span', {
1020
+ ? h('div', {
1017
1021
  class: 'vxe-table--expand-label'
1018
1022
  }, defaultSlot ? $table.callSlot(defaultSlot, params) : XEUtils.get(row, labelField as string))
1019
1023
  : renderEmptyElement($table)
@@ -2,43 +2,44 @@ import XEUtils from 'xe-utils'
2
2
  import { VxeUI } from '../../ui'
3
3
  import { toFilters } from './util'
4
4
  import { isEnableConf, getFuncText } from '../../ui/src/utils'
5
+ import { isPx } from '../../ui/src/dom'
5
6
  import { warnLog, errLog } from '../../ui/src/log'
6
7
 
7
- import type { VxeTableConstructor, VxeTablePrivateMethods, VxeTableDefines } from '../../../types'
8
+ import type { VxeTableConstructor, VxeTablePrivateMethods, VxeTableDefines, VxeColumnProps } from '../../../types'
8
9
 
9
10
  const { getI18n, formats, renderer } = VxeUI
10
11
 
11
12
  export class ColumnInfo {
12
13
  /* eslint-disable @typescript-eslint/no-use-before-define */
13
- constructor ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, _vm: any, { renderHeader, renderCell, renderFooter, renderData }: any = {}) {
14
+ constructor ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, colConfs: VxeColumnProps & { renderHeader?: any, renderCell?: any, renderFooter?: any, slots?: any }, { renderHeader, renderCell, renderFooter, renderData }: any = {}) {
14
15
  const tableProps = $xeTable.props
15
16
  const $xeGrid = $xeTable.xeGrid
16
17
  const $xeGantt = $xeTable.xeGantt
17
18
  const $xeGGWrapper = $xeGrid || $xeGantt
18
19
 
19
- const { field, editRender, filterRender } = _vm
20
+ const { type, field, width, visible, aggFunc, formatter, filterMultiple, cellRender, editRender, filterRender } = colConfs
20
21
 
21
- const colId = _vm.colId || XEUtils.uniqueId('col_')
22
+ const colId = colConfs.colId || XEUtils.uniqueId('col_')
22
23
 
23
- const formatter: string | any[] = _vm.formatter
24
- const visible = XEUtils.isBoolean(_vm.visible) ? _vm.visible : true
24
+ const defaultVisible = XEUtils.isBoolean(visible) ? visible : true
25
+ const defaultRenderWidth = width && isPx(width) && width !== 'auto' ? Math.max(0, XEUtils.toInteger(width)) : 0
25
26
 
26
- const flCompConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
27
+ const flCompConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
27
28
  const ctFilterOptions = flCompConf ? flCompConf.createTableFilterOptions : null
28
29
 
29
- const filters = toFilters(_vm.filters, colId)
30
+ const filters = toFilters(colConfs.filters, colId)
30
31
 
31
32
  const types = ['seq', 'checkbox', 'radio', 'expand', 'html']
32
- if (_vm.type && types.indexOf(_vm.type) === -1) {
33
- warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')])
33
+ if (type && types.indexOf(type) === -1) {
34
+ warnLog('vxe.error.errProp', [`type=${type}`, types.join(', ')])
34
35
  }
35
- if (XEUtils.isBoolean(_vm.cellRender) || (_vm.cellRender && !XEUtils.isObject(_vm.cellRender))) {
36
- warnLog('vxe.error.errProp', [`column.cell-render=${_vm.cellRender}`, 'column.cell-render={}'])
36
+ if (XEUtils.isBoolean(cellRender) || (cellRender && !XEUtils.isObject(cellRender))) {
37
+ warnLog('vxe.error.errProp', [`column.cell-render=${cellRender}`, 'column.cell-render={}'])
37
38
  }
38
- if (XEUtils.isBoolean(_vm.editRender) || (_vm.editRender && !XEUtils.isObject(_vm.editRender))) {
39
- warnLog('vxe.error.errProp', [`column.edit-render=${_vm.editRender}`, 'column.edit-render={}'])
39
+ if (XEUtils.isBoolean(editRender) || (editRender && !XEUtils.isObject(editRender))) {
40
+ warnLog('vxe.error.errProp', [`column.edit-render=${editRender}`, 'column.edit-render={}'])
40
41
  }
41
- if (_vm.type === 'expand') {
42
+ if (type === 'expand') {
42
43
  const { treeConfig } = tableProps
43
44
  const { computeTreeOpts } = $xeTable.getComputeMaps()
44
45
  const treeOpts = computeTreeOpts.value
@@ -59,9 +60,9 @@ export class ColumnInfo {
59
60
  }
60
61
  }
61
62
  }
62
- if (_vm.aggFunc) {
63
- if (!$xeTable.handlePivotTableAggData && _vm.aggFunc !== true) {
64
- errLog('vxe.error.errProp', [`column.agg-func=${_vm.aggFunc}`, 'column.agg-func=true'])
63
+ if (aggFunc) {
64
+ if (!$xeTable.handlePivotTableAggData && aggFunc !== true) {
65
+ errLog('vxe.error.errProp', [`column.agg-func=${aggFunc}`, 'column.agg-func=true'])
65
66
  }
66
67
  }
67
68
 
@@ -76,74 +77,73 @@ export class ColumnInfo {
76
77
 
77
78
  Object.assign(this, {
78
79
  // 基本属性
79
- type: _vm.type,
80
- property: _vm.field,
80
+ type: colConfs.type,
81
+ property: colConfs.field,
81
82
  field: field,
82
- title: _vm.title,
83
- width: _vm.width,
84
- minWidth: _vm.minWidth,
85
- maxWidth: _vm.maxWidth,
86
- resizable: _vm.resizable,
87
- fixed: _vm.fixed,
88
- align: _vm.align,
89
- headerAlign: _vm.headerAlign,
90
- footerAlign: _vm.footerAlign,
91
- showOverflow: _vm.showOverflow,
92
- showHeaderOverflow: _vm.showHeaderOverflow,
93
- showFooterOverflow: _vm.showFooterOverflow,
94
- className: _vm.className,
95
- headerClassName: _vm.headerClassName,
96
- footerClassName: _vm.footerClassName,
83
+ title: colConfs.title,
84
+ width: colConfs.width,
85
+ minWidth: colConfs.minWidth,
86
+ maxWidth: colConfs.maxWidth,
87
+ resizable: colConfs.resizable,
88
+ fixed: colConfs.fixed,
89
+ align: colConfs.align,
90
+ headerAlign: colConfs.headerAlign,
91
+ footerAlign: colConfs.footerAlign,
92
+ showOverflow: colConfs.showOverflow,
93
+ showHeaderOverflow: colConfs.showHeaderOverflow,
94
+ showFooterOverflow: colConfs.showFooterOverflow,
95
+ className: colConfs.className,
96
+ headerClassName: colConfs.headerClassName,
97
+ footerClassName: colConfs.footerClassName,
97
98
  formatter: formatter,
98
- headerFormatter: _vm.headerFormatter,
99
- footerFormatter: _vm.footerFormatter,
100
- padding: _vm.padding,
101
- verticalAlign: _vm.verticalAlign,
102
- sortable: _vm.sortable,
103
- sortBy: _vm.sortBy,
104
- sortType: _vm.sortType,
99
+ headerFormatter: colConfs.headerFormatter,
100
+ footerFormatter: colConfs.footerFormatter,
101
+ padding: colConfs.padding,
102
+ verticalAlign: colConfs.verticalAlign,
103
+ sortable: colConfs.sortable,
104
+ sortBy: colConfs.sortBy,
105
+ sortType: colConfs.sortType,
105
106
  filters: filters,
106
- filterMultiple: XEUtils.isBoolean(_vm.filterMultiple) ? _vm.filterMultiple : true,
107
- filterMethod: _vm.filterMethod,
108
- filterResetMethod: _vm.filterResetMethod,
109
- filterRecoverMethod: _vm.filterRecoverMethod,
107
+ filterMultiple: XEUtils.isBoolean(filterMultiple) ? filterMultiple : true,
108
+ filterMethod: colConfs.filterMethod,
109
+ filterResetMethod: colConfs.filterResetMethod,
110
+ filterRecoverMethod: colConfs.filterRecoverMethod,
110
111
  filterRender: filterRender,
111
- floatingFilters: _vm.floatingFilters,
112
- rules: _vm.rules,
113
- rowGroupNode: _vm.rowGroupNode,
114
- treeNode: _vm.treeNode,
115
- dragSort: _vm.dragSort,
116
- rowResize: _vm.rowResize,
117
- cellType: _vm.cellType,
118
- cellRender: _vm.cellRender,
112
+ floatingFilters: colConfs.floatingFilters,
113
+ rules: colConfs.rules,
114
+ rowGroupNode: colConfs.rowGroupNode,
115
+ treeNode: colConfs.treeNode,
116
+ dragSort: colConfs.dragSort,
117
+ rowResize: colConfs.rowResize,
118
+ cellType: colConfs.cellType,
119
+ cellRender: cellRender,
119
120
  editRender: editRender,
120
- contentRender: _vm.contentRender,
121
- headerExportMethod: _vm.headerExportMethod,
122
- exportMethod: _vm.exportMethod,
123
- footerExportMethod: _vm.footerExportMethod,
124
- titleHelp: _vm.titleHelp,
125
- titlePrefix: _vm.titlePrefix,
126
- titleSuffix: _vm.titleSuffix,
127
-
128
- aggFunc: _vm.aggFunc,
129
- copyMethod: _vm.copyMethod,
130
- cutMethod: _vm.cutMethod,
131
- pasteMethod: _vm.pasteMethod,
121
+ contentRender: colConfs.contentRender,
122
+ headerExportMethod: colConfs.headerExportMethod,
123
+ exportMethod: colConfs.exportMethod,
124
+ footerExportMethod: colConfs.footerExportMethod,
125
+ titleHelp: colConfs.titleHelp,
126
+ titlePrefix: colConfs.titlePrefix,
127
+ titleSuffix: colConfs.titleSuffix,
128
+
129
+ aggFunc: colConfs.aggFunc,
130
+ copyMethod: colConfs.copyMethod,
131
+ cutMethod: colConfs.cutMethod,
132
+ pasteMethod: colConfs.pasteMethod,
132
133
 
133
134
  // 自定义参数
134
- params: _vm.params,
135
+ params: colConfs.params,
135
136
  // 渲染属性
136
137
  id: colId,
137
138
  parentId: null,
138
- visible,
139
+ visible: defaultVisible,
139
140
  // 内部属性(一旦被使用,将导致不可升级版本)
140
141
  defaultParentId: null,
141
142
  halfVisible: false,
142
- defaultVisible: visible,
143
- defaultFixed: _vm.fixed,
143
+ defaultVisible: defaultVisible,
144
+ defaultFixed: colConfs.fixed,
144
145
 
145
- defaultAggGroup: _vm.aggGroup,
146
- defaultAggFunc: _vm.aggFunc,
146
+ defaultAggFunc: colConfs.aggFunc,
147
147
 
148
148
  checked: false,
149
149
  halfChecked: false,
@@ -170,7 +170,7 @@ export class ColumnInfo {
170
170
  renderFixed: '',
171
171
  renderVisible: false,
172
172
 
173
- renderWidth: 0,
173
+ renderWidth: defaultRenderWidth,
174
174
  renderHeight: 0,
175
175
  renderResizeWidth: 0,
176
176
  renderAutoWidth: 0,
@@ -179,12 +179,12 @@ export class ColumnInfo {
179
179
  renderLeft: 0,
180
180
  renderArgs: [], // 渲染参数可用于扩展
181
181
  model: {},
182
- renderHeader: renderHeader || _vm.renderHeader,
183
- renderCell: renderCell || _vm.renderCell,
184
- renderFooter: renderFooter || _vm.renderFooter,
182
+ renderHeader: renderHeader || colConfs.renderHeader,
183
+ renderCell: renderCell || colConfs.renderCell,
184
+ renderFooter: renderFooter || colConfs.renderFooter,
185
185
  renderData: renderData,
186
186
  // 单元格插槽,只对 grid 有效
187
- slots: _vm.slots
187
+ slots: colConfs.slots
188
188
  })
189
189
  if (ctFilterOptions && (!filters || !filters.length)) {
190
190
  (this as any).filters = toFilters(ctFilterOptions({ $table: $xeTable, column: this as unknown as VxeTableDefines.ColumnInfo }), colId)
@@ -193,7 +193,7 @@ export class ColumnInfo {
193
193
  const { computeProxyOpts } = $xeGGWrapper.getComputeMaps()
194
194
  const proxyOpts = computeProxyOpts.value
195
195
  if (proxyOpts.beforeColumn) {
196
- proxyOpts.beforeColumn({ $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, column: this })
196
+ proxyOpts.beforeColumn({ $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, column: this as unknown as VxeTableDefines.ColumnInfo })
197
197
  }
198
198
  }
199
199
  }
@@ -203,8 +203,8 @@ export class ColumnInfo {
203
203
  }
204
204
 
205
205
  getKey () {
206
- const { type } = this
207
- return this.field || (type ? `type=${type}` : null)
206
+ const { type, field } = this
207
+ return field || (type ? `type=${type}` : null)
208
208
  }
209
209
 
210
210
  update (name: string, value: any) {
@@ -4349,7 +4349,11 @@ export default defineVxeComponent({
4349
4349
  const { transform } = treeOpts
4350
4350
  const allList = fullData || internalData.tableFullData
4351
4351
  // 如果gt为0,则总是启用
4352
- const scrollYLoad = (transform || !treeConfig) && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length)
4352
+ let scrollYLoad = !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length)
4353
+ if (scrollYLoad && (treeConfig && !transform)) {
4354
+ errLog('vxe.error.notSupportProp', ['[table] virtual-y-config.enabled=true', 'tree-config.transform=false', 'tree-config.transform=true'])
4355
+ scrollYLoad = false
4356
+ }
4353
4357
  reactData.scrollYLoad = scrollYLoad
4354
4358
  syncGanttScrollYStatus()
4355
4359
  return scrollYLoad
@@ -9602,7 +9606,7 @@ export default defineVxeComponent({
9602
9606
  const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
9603
9607
  XEUtils.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
9604
9608
  const rowid = handleUpdateRowId(row)
9605
- if (treeConfig && lazy) {
9609
+ if (lazy) {
9606
9610
  if (row[hasChildField] && row[childrenField] === undefined) {
9607
9611
  row[childrenField] = null
9608
9612
  }
@@ -14471,7 +14475,7 @@ export default defineVxeComponent({
14471
14475
  warnLog('vxe.error.delProp', ['edit-config.activeMethod', 'edit-config.beforeEditMethod'])
14472
14476
  }
14473
14477
  if (props.treeConfig && checkboxOpts.isShiftKey) {
14474
- errLog('vxe.error.errConflicts', ['tree-config', 'checkbox-config.isShiftKey'])
14478
+ errLog('vxe.error.reqSupportProp', ['tree-config', 'checkbox-config.isShiftKey=false'])
14475
14479
  }
14476
14480
  if (checkboxOpts.halfField) {
14477
14481
  warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField'])
@@ -725,7 +725,7 @@ function getElementMarginAndWidth (elem: HTMLElement | null) {
725
725
  return 0
726
726
  }
727
727
 
728
- export function toFilters (filters: any, colid?: string) {
728
+ export function toFilters (filters: any, colid?: string | number) {
729
729
  if (filters) {
730
730
  if (XEUtils.isArray(filters)) {
731
731
  return filters.map(({ label, value, data, resetValue, checked }) => {
@@ -18,13 +18,16 @@
18
18
  font-family: var(--vxe-ui-font-family);
19
19
  background-color: var(--vxe-ui-layout-background-color);
20
20
  }
21
+ .vxe-context-menu--option {
22
+ color: var(--vxe-ui-font-color);
23
+ }
21
24
  .vxe-context-menu--link {
22
25
  display: flex;
23
26
  flex-direction: row;
24
27
  width: var(--vxe-ui-table-menu-item-width);
25
28
  line-height: 26px;
26
29
  padding: 0 0.8em;
27
- color: var(--vxe-ui-font-color);
30
+ color: inherit;
28
31
  cursor: pointer;
29
32
  .vxe-context-menu--link-prefix,
30
33
  .vxe-context-menu--link-suffix {
@@ -41,7 +44,7 @@
41
44
  white-space: nowrap;
42
45
  }
43
46
  }
44
- .vxe-context-menu--option-wrapper,
47
+ .vxe-table--context-menu-group-wrapper,
45
48
  .vxe-table--context-menu-clild-wrapper {
46
49
  margin: 0;
47
50
  padding: 0;
@@ -2204,6 +2204,16 @@ $btnThemeList: (
2204
2204
  }
2205
2205
 
2206
2206
  /*展开行*/
2207
+ .vxe-body--column {
2208
+ &.col--expand {
2209
+ & > .vxe-cell {
2210
+ .vxe-cell--wrapper {
2211
+ display: flex;
2212
+ flex-direction: row;
2213
+ }
2214
+ }
2215
+ }
2216
+ }
2207
2217
  .vxe-table--row-expanded-wrapper {
2208
2218
  position: absolute;
2209
2219
  top: 0;
@@ -2237,20 +2247,28 @@ $btnThemeList: (
2237
2247
  border-right: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
2238
2248
  }
2239
2249
  .vxe-table--expanded {
2240
- cursor: pointer;
2250
+ display: flex;
2251
+ flex-direction: row;
2252
+ align-items: center;
2253
+ justify-content: center;
2254
+ flex-shrink: 0;
2241
2255
  .vxe-table--expand-btn {
2242
- display: inline-block;
2243
- width: 1em;
2244
- height: 1em;
2245
- text-align: center;
2256
+ cursor: pointer;
2246
2257
  user-select: none;
2247
2258
  color: var(--vxe-ui-font-lighten-color);
2248
- @include baseMixin.createAnimationTransition(transform);
2249
2259
  &:hover {
2250
2260
  color: var(--vxe-ui-font-color);
2251
2261
  }
2262
+ i {
2263
+ display: inline-block;
2264
+ width: 1em;
2265
+ height: 1em;
2266
+ line-height: 1em;
2267
+ @include baseMixin.createAnimationTransition(transform);
2268
+ }
2252
2269
  }
2253
2270
  &+.vxe-table--expand-label {
2271
+ flex-grow: 1;
2254
2272
  padding-left: 0.5em;
2255
2273
  }
2256
2274
  }