vxe-table 3.14.4 → 3.15.0-beta.0
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/es/locale/lang/ar-EG.js +3 -1
- package/es/locale/lang/de-DE.js +3 -1
- package/es/locale/lang/en-US.js +7 -5
- package/es/locale/lang/es-ES.js +3 -1
- package/es/locale/lang/fr-FR.js +3 -1
- package/es/locale/lang/hu-HU.js +3 -1
- package/es/locale/lang/hy-AM.js +3 -1
- package/es/locale/lang/id-ID.js +3 -1
- package/es/locale/lang/it-IT.js +3 -1
- package/es/locale/lang/ja-JP.js +3 -1
- package/es/locale/lang/ko-KR.js +3 -1
- package/es/locale/lang/nb-NO.js +3 -1
- package/es/locale/lang/pt-BR.js +3 -1
- package/es/locale/lang/ru-RU.js +3 -1
- package/es/locale/lang/th-TH.js +3 -1
- package/es/locale/lang/ug-CN.js +3 -1
- package/es/locale/lang/uk-UA.js +3 -1
- package/es/locale/lang/vi-VN.js +3 -1
- package/es/locale/lang/zh-CHT.js +3 -1
- package/es/locale/lang/zh-CN.js +3 -1
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +10 -9
- package/es/table/module/export/export-panel.js +32 -17
- package/es/table/module/export/mixin.js +17 -12
- package/es/table/src/body.js +11 -13
- package/es/table/src/footer.js +3 -16
- package/es/table/src/methods.js +246 -109
- package/es/table/src/table.js +50 -25
- package/es/table/src/util.js +0 -13
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +410 -247
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +3 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -5
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -5
- package/lib/locale/lang/es-ES.js +3 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +3 -1
- package/lib/locale/lang/fr-FR.js +3 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +3 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +3 -1
- package/lib/locale/lang/hy-AM.js +3 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +3 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +3 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +3 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +3 -1
- package/lib/locale/lang/ko-KR.js +3 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +3 -1
- package/lib/locale/lang/nb-NO.js +3 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +3 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +3 -1
- package/lib/locale/lang/ru-RU.js +3 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +3 -1
- package/lib/locale/lang/th-TH.js +3 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +3 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +3 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +3 -1
- package/lib/locale/lang/vi-VN.js +3 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +3 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +3 -1
- package/lib/locale/lang/zh-CN.js +3 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +3 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +9 -9
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/export-panel.js +29 -17
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +18 -12
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/body.js +14 -15
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +4 -27
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/methods.js +278 -114
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +52 -25
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +0 -25
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +2 -2
- 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/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +3 -1
- package/packages/locale/lang/de-DE.ts +3 -1
- package/packages/locale/lang/en-US.ts +7 -5
- package/packages/locale/lang/es-ES.ts +3 -1
- package/packages/locale/lang/fr-FR.ts +3 -1
- package/packages/locale/lang/hu-HU.ts +3 -1
- package/packages/locale/lang/hy-AM.ts +3 -1
- package/packages/locale/lang/id-ID.ts +3 -1
- package/packages/locale/lang/it-IT.ts +3 -1
- package/packages/locale/lang/ja-JP.ts +3 -1
- package/packages/locale/lang/ko-KR.ts +3 -1
- package/packages/locale/lang/nb-NO.ts +3 -1
- package/packages/locale/lang/pt-BR.ts +3 -1
- package/packages/locale/lang/ru-RU.ts +3 -1
- package/packages/locale/lang/th-TH.ts +3 -1
- package/packages/locale/lang/ug-CN.ts +3 -1
- package/packages/locale/lang/uk-UA.ts +3 -1
- package/packages/locale/lang/vi-VN.ts +3 -1
- package/packages/locale/lang/zh-CHT.ts +3 -1
- package/packages/locale/lang/zh-CN.ts +3 -1
- package/packages/table/module/edit/mixin.ts +10 -9
- package/packages/table/module/export/export-panel.ts +33 -17
- package/packages/table/module/export/mixin.ts +17 -12
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/footer.ts +3 -17
- package/packages/table/src/methods.ts +261 -119
- package/packages/table/src/table.ts +50 -25
- package/packages/table/src/util.ts +0 -14
- package/packages/ui/index.ts +1 -1
- /package/es/{iconfont.1743393991959.ttf → iconfont.1743578536739.ttf} +0 -0
- /package/es/{iconfont.1743393991959.woff → iconfont.1743578536739.woff} +0 -0
- /package/es/{iconfont.1743393991959.woff2 → iconfont.1743578536739.woff2} +0 -0
- /package/lib/{iconfont.1743393991959.ttf → iconfont.1743578536739.ttf} +0 -0
- /package/lib/{iconfont.1743393991959.woff → iconfont.1743578536739.woff} +0 -0
- /package/lib/{iconfont.1743393991959.woff2 → iconfont.1743578536739.woff2} +0 -0
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: 'táblázat vége',
|
|
196
196
|
expFooterTitle: 'Szükséges a táblázat lábléce?',
|
|
197
197
|
expOptColgroup: 'Csoportfejléc',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: 'Ha vannak, a csoportosító szerkezetű fejlécek támogatottak',
|
|
199
201
|
expOptMerge: 'összeolvad',
|
|
200
202
|
expMergeTitle: 'Támogatja a cellákat egyesítési struktúrákkal, ha vannak',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: 'Ha létezik, támogatja az összes adat kibontását hierarchikus szerkezettel.',
|
|
203
205
|
expOptUseStyle: 'stílus',
|
|
204
206
|
expUseStyleTitle: 'A stílusos cellák támogatottak, ha vannak',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: '表尾',
|
|
196
196
|
expFooterTitle: '是否需要表尾',
|
|
197
197
|
expOptColgroup: '分组表头',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: '如果存在,则支持带有分组结构的表头',
|
|
199
201
|
expOptMerge: '合并',
|
|
200
202
|
expMergeTitle: '如果存在,则支持带有合并结构的单元格',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: '如果存在,则支持将带有层级结构的数据全部展开',
|
|
203
205
|
expOptUseStyle: '样式',
|
|
204
206
|
expUseStyleTitle: '如果存在,则支持带样式的单元格',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: '表尾',
|
|
196
196
|
expFooterTitle: '是否需要表尾',
|
|
197
197
|
expOptColgroup: '分组表头',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: '如果存在,则支持带有分组结构的表头',
|
|
199
201
|
expOptMerge: '合并',
|
|
200
202
|
expMergeTitle: '如果存在,则支持带有合并结构的单元格',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: '如果存在,则支持将带有层级结构的数据全部展开',
|
|
203
205
|
expOptUseStyle: '样式',
|
|
204
206
|
expUseStyleTitle: '如果存在,则支持带样式的单元格',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: 'fine del tavolo',
|
|
196
196
|
expFooterTitle: 'È necessario un piè di pagina della tabella?',
|
|
197
197
|
expOptColgroup: 'Intestazione del gruppo',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: 'Se presenti, sono supportate intestazioni con strutture di raggruppamento',
|
|
199
201
|
expOptMerge: 'unire',
|
|
200
202
|
expMergeTitle: 'Supporta celle con strutture di unione, se presenti',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: "Se esiste, supporta l'espansione di tutti i dati con una struttura gerarchica.",
|
|
203
205
|
expOptUseStyle: 'stile',
|
|
204
206
|
expUseStyleTitle: 'Le celle con stile sono supportate se presenti',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: 'フッター',
|
|
196
196
|
expFooterTitle: 'フッターをエクスポート',
|
|
197
197
|
expOptColgroup: 'グループ分けタイトル',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: 'グループ分けタイトルを有効にする',
|
|
199
201
|
expOptMerge: '結合',
|
|
200
202
|
expMergeTitle: '結合セルを有効にする',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: '階層構造を有効にする',
|
|
203
205
|
expOptUseStyle: 'スタイル',
|
|
204
206
|
expUseStyleTitle: 'スタイルを有効にする',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: '표 바닥글',
|
|
196
196
|
expFooterTitle: '표 바닥글이 필요한지 여부',
|
|
197
197
|
expOptColgroup: '그룹화된 표 헤더',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: '그룹화된 구조가 있는 표 헤더 지원',
|
|
199
201
|
expOptMerge: '병합',
|
|
200
202
|
expMergeTitle: '병합된 셀을 지원하는 경우',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: '계층 구조가 있는 데이터를 전체 전개 지원',
|
|
203
205
|
expOptUseStyle: '스타일',
|
|
204
206
|
expUseStyleTitle: '스타일이 있는 셀을 지원하는 경우',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: '表尾',
|
|
196
196
|
expFooterTitle: '是否需要表尾',
|
|
197
197
|
expOptColgroup: '分组表头',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: '如果存在,则支持带有分组结构的表头',
|
|
199
201
|
expOptMerge: '合并',
|
|
200
202
|
expMergeTitle: '如果存在,则支持带有合并结构的单元格',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: '如果存在,则支持将带有层级结构的数据全部展开',
|
|
203
205
|
expOptUseStyle: '样式',
|
|
204
206
|
expUseStyleTitle: '如果存在,则支持带样式的单元格',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: 'Rodapé',
|
|
196
196
|
expFooterTitle: 'Necessita de tabela de rodapé',
|
|
197
197
|
expOptColgroup: 'Cabeçalho de grupo',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: 'Se existir, suporta cabeçalhos com estrutura de agrupamento',
|
|
199
201
|
expOptMerge: 'Mesclar',
|
|
200
202
|
expMergeTitle: 'Se existir, suporta células com estruturas mescladas',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: 'Se existir, todos os dados com estrutura de árvore podem ser expandidos',
|
|
203
205
|
expOptUseStyle: 'Estilos',
|
|
204
206
|
expUseStyleTitle: 'Se existir, suporta células com estilos',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: 'конец таблицы',
|
|
196
196
|
expFooterTitle: 'Нужен ли нижний колонтитул таблицы?',
|
|
197
197
|
expOptColgroup: 'Заголовок группы',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: 'Если они присутствуют, поддерживаются заголовки со структурами группировки.',
|
|
199
201
|
expOptMerge: 'слить',
|
|
200
202
|
expMergeTitle: 'Поддерживает ячейки со структурами слияния, если они присутствуют.',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: 'Если он существует, он поддерживает расширение всех данных с помощью иерархической структуры.',
|
|
203
205
|
expOptUseStyle: 'стиль',
|
|
204
206
|
expUseStyleTitle: 'Стилизованные ячейки поддерживаются, если они есть.',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: 'ท้ายตาราง',
|
|
196
196
|
expFooterTitle: 'จำเป็นต้องมีส่วนท้ายของตารางหรือไม่?',
|
|
197
197
|
expOptColgroup: 'ส่วนหัวของกลุ่ม',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: 'หากมี รองรับส่วนหัวที่มีโครงสร้างการจัดกลุ่ม',
|
|
199
201
|
expOptMerge: 'ผสาน',
|
|
200
202
|
expMergeTitle: 'รองรับเซลล์ที่มีโครงสร้างผสาน หากมี',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: 'หากมีอยู่จะรองรับการขยายข้อมูลทั้งหมดด้วยโครงสร้างแบบลำดับชั้น',
|
|
203
205
|
expOptUseStyle: 'สไตล์',
|
|
204
206
|
expUseStyleTitle: 'เซลล์ที่มีสไตล์ได้รับการสนับสนุน หากมี',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: 'ھۆججەت ئاخىرى',
|
|
196
196
|
expFooterTitle: 'ھۆججەت ئاخىرى لازىممۇ؟',
|
|
197
197
|
expOptColgroup: 'ھۆججەت بىشىنى گۇرۇپپىلاش',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: 'ئەگەر مەۋجۇت بولسا،گۇرۇپپىلانغان ھۆججەت بىشى قۇرۇلمىسىنى قوللايدۇ ',
|
|
199
201
|
expOptMerge: 'بېرىكتۈرۈش',
|
|
200
202
|
expMergeTitle: 'ئەگەر مەۋجۇت بولسا برىكتۈرۈلگەن قۇرۇلمىلىق ھۆججەت ئىلمىنتىنى قوللايدۇ ',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: 'ئەگەر مەۋجۇت بولسا،دەرىجىسى بولغان بارلىق ئۇچۇرلار ئىچىلىدۇ ',
|
|
203
205
|
expOptUseStyle: 'نۇسخا',
|
|
204
206
|
expUseStyleTitle: 'ئەگەر مەۋجۇت بولسا ،نۇسخىسى بولغان ئىلمىنىتلارغا نۇسخا قوشىلىدۇ',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: 'Нижній колонтитул',
|
|
196
196
|
expFooterTitle: 'Чи потрібен нижній колонтитул',
|
|
197
197
|
expOptColgroup: 'Групування заголовків',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: 'Якщо є, підтримується групування заголовків',
|
|
199
201
|
expOptMerge: 'Злиття',
|
|
200
202
|
expMergeTitle: 'Якщо є, підтримується злиття клітинок',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: 'Якщо є, підтримується розгортання даних з рівневими структурами',
|
|
203
205
|
expOptUseStyle: 'Стилі',
|
|
204
206
|
expUseStyleTitle: 'Якщо є, підтримується використання стилів у клітинках',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: '表尾',
|
|
196
196
|
expFooterTitle: '是否需要表尾',
|
|
197
197
|
expOptColgroup: '分组表头',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: '如果存在,则支持带有分组结构的表头',
|
|
199
201
|
expOptMerge: '合并',
|
|
200
202
|
expMergeTitle: '如果存在,则支持带有合并结构的单元格',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: '如果存在,则支持将带有层级结构的数据全部展开',
|
|
203
205
|
expOptUseStyle: '样式',
|
|
204
206
|
expUseStyleTitle: '如果存在,则支持带样式的单元格',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: '表尾',
|
|
196
196
|
expFooterTitle: '是否需要表尾',
|
|
197
197
|
expOptColgroup: '分組表頭',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: '如果存在,則支援帶有分組結構的表頭',
|
|
199
201
|
expOptMerge: '合併',
|
|
200
202
|
expMergeTitle: '如果存在,則支援帶有合併結構的儲存格',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: '如果存在,則支援將帶有層級結構的資料全部展開',
|
|
203
205
|
expOptUseStyle: '樣式',
|
|
204
206
|
expUseStyleTitle: '如果存在,則支援帶有樣式的儲存格',
|
|
@@ -195,10 +195,12 @@ export default {
|
|
|
195
195
|
expOptFooter: '表尾',
|
|
196
196
|
expFooterTitle: '是否需要表尾',
|
|
197
197
|
expOptColgroup: '分组表头',
|
|
198
|
+
expOptTitle: '列标题',
|
|
199
|
+
expTitleTitle: '是否为列标题,否则显示为列的字段名',
|
|
198
200
|
expColgroupTitle: '如果存在,则支持带有分组结构的表头',
|
|
199
201
|
expOptMerge: '合并',
|
|
200
202
|
expMergeTitle: '如果存在,则支持带有合并结构的单元格',
|
|
201
|
-
expOptAllExpand: '
|
|
203
|
+
expOptAllExpand: '展开树',
|
|
202
204
|
expAllExpandTitle: '如果存在,则支持将带有层级结构的数据全部展开',
|
|
203
205
|
expOptUseStyle: '样式',
|
|
204
206
|
expUseStyleTitle: '如果存在,则支持带样式的单元格',
|
|
@@ -104,8 +104,7 @@ function handleInsertRowAt ($xeTable: VxeTableConstructor & VxeTablePrivateMetho
|
|
|
104
104
|
const internalData = $xeTable as unknown as TableInternalData
|
|
105
105
|
|
|
106
106
|
const { treeConfig } = props
|
|
107
|
-
const {
|
|
108
|
-
const { tableFullTreeData, afterFullData, tableFullData, fullDataRowIdData, fullAllDataRowIdData, insertRowMaps } = internalData
|
|
107
|
+
const { tableFullTreeData, afterFullData, mergeBodyList, tableFullData, fullDataRowIdData, fullAllDataRowIdData, insertRowMaps } = internalData
|
|
109
108
|
const treeOpts = $xeTable.computeTreeOpts
|
|
110
109
|
const { transform, rowField, mapChildrenField } = treeOpts
|
|
111
110
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
@@ -127,7 +126,7 @@ function handleInsertRowAt ($xeTable: VxeTableConstructor & VxeTablePrivateMetho
|
|
|
127
126
|
tableFullData.unshift(item)
|
|
128
127
|
})
|
|
129
128
|
// 刷新单元格合并
|
|
130
|
-
|
|
129
|
+
mergeBodyList.forEach((mergeItem: any) => {
|
|
131
130
|
const { row: mergeRowIndex } = mergeItem
|
|
132
131
|
if (mergeRowIndex > 0) {
|
|
133
132
|
mergeItem.row = mergeRowIndex + newRecords.length
|
|
@@ -149,7 +148,7 @@ function handleInsertRowAt ($xeTable: VxeTableConstructor & VxeTablePrivateMetho
|
|
|
149
148
|
tableFullData.push(item)
|
|
150
149
|
})
|
|
151
150
|
// 刷新单元格合并
|
|
152
|
-
|
|
151
|
+
mergeBodyList.forEach((mergeItem: any) => {
|
|
153
152
|
const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
|
|
154
153
|
if (mergeRowIndex + mergeRowspan > afterFullData.length) {
|
|
155
154
|
mergeItem.rowspan = mergeRowspan + newRecords.length
|
|
@@ -233,7 +232,7 @@ function handleInsertRowAt ($xeTable: VxeTableConstructor & VxeTablePrivateMetho
|
|
|
233
232
|
tableFullData.push(...newRecords)
|
|
234
233
|
}
|
|
235
234
|
// 刷新单元格合并
|
|
236
|
-
|
|
235
|
+
mergeBodyList.forEach((mergeItem: any) => {
|
|
237
236
|
const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
|
|
238
237
|
if (mergeRowIndex > afIndex) {
|
|
239
238
|
mergeItem.row = mergeRowIndex + newRecords.length
|
|
@@ -256,6 +255,7 @@ function handleInsertRowAt ($xeTable: VxeTableConstructor & VxeTablePrivateMetho
|
|
|
256
255
|
$xeTable.updateAfterDataIndex()
|
|
257
256
|
}
|
|
258
257
|
$xeTable.updateFooter()
|
|
258
|
+
$xeTable.handleUpdateBodyMerge()
|
|
259
259
|
$xeTable.checkSelectionStatus()
|
|
260
260
|
if (reactData.scrollYLoad) {
|
|
261
261
|
$xeTable.updateScrollYSpace()
|
|
@@ -506,8 +506,8 @@ export default {
|
|
|
506
506
|
const internalData = $xeTable as unknown as TableInternalData
|
|
507
507
|
|
|
508
508
|
const { treeConfig } = props
|
|
509
|
-
const {
|
|
510
|
-
const { tableFullTreeData, selectCheckboxMaps, afterFullData, tableFullData, pendingRowMaps, insertRowMaps, removeRowMaps } = internalData
|
|
509
|
+
const { editStore } = reactData
|
|
510
|
+
const { tableFullTreeData, selectCheckboxMaps, afterFullData, mergeBodyList, tableFullData, pendingRowMaps, insertRowMaps, removeRowMaps } = internalData
|
|
511
511
|
const checkboxOpts = $xeTable.computeCheckboxOpts
|
|
512
512
|
const treeOpts = $xeTable.computeTreeOpts
|
|
513
513
|
const { transform, mapChildrenField } = treeOpts
|
|
@@ -572,7 +572,7 @@ export default {
|
|
|
572
572
|
const afIndex = this.findRowIndexOf(afterFullData, row)
|
|
573
573
|
if (afIndex > -1) {
|
|
574
574
|
// 刷新单元格合并
|
|
575
|
-
|
|
575
|
+
mergeBodyList.forEach((mergeItem: any) => {
|
|
576
576
|
const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
|
|
577
577
|
if (mergeRowIndex > afIndex) {
|
|
578
578
|
mergeItem.row = mergeRowIndex - 1
|
|
@@ -602,9 +602,10 @@ export default {
|
|
|
602
602
|
reactData.removeRowFlag++
|
|
603
603
|
reactData.insertRowFlag++
|
|
604
604
|
reactData.pendingRowFlag++
|
|
605
|
-
$xeTable.updateFooter()
|
|
606
605
|
$xeTable.cacheRowMap(false)
|
|
607
606
|
$xeTable.handleTableData(treeConfig && transform)
|
|
607
|
+
$xeTable.updateFooter()
|
|
608
|
+
$xeTable.handleUpdateBodyMerge()
|
|
608
609
|
if (!(treeConfig && transform)) {
|
|
609
610
|
$xeTable.updateAfterDataIndex()
|
|
610
611
|
}
|
|
@@ -338,27 +338,27 @@ export default {
|
|
|
338
338
|
}),
|
|
339
339
|
h('vxe-checkbox', {
|
|
340
340
|
props: {
|
|
341
|
-
value: defaultOptions.
|
|
342
|
-
disabled: !
|
|
343
|
-
title: getI18n('vxe.export.
|
|
344
|
-
content: getI18n('vxe.export.
|
|
341
|
+
value: isHeader ? defaultOptions.isTitle : false,
|
|
342
|
+
disabled: !isHeader,
|
|
343
|
+
title: getI18n('vxe.export.expTitleTitle'),
|
|
344
|
+
content: getI18n('vxe.export.expOptTitle')
|
|
345
345
|
},
|
|
346
346
|
on: {
|
|
347
347
|
input (value: any) {
|
|
348
|
-
defaultOptions.
|
|
348
|
+
defaultOptions.isTitle = value
|
|
349
349
|
}
|
|
350
350
|
}
|
|
351
351
|
}),
|
|
352
352
|
h('vxe-checkbox', {
|
|
353
353
|
props: {
|
|
354
|
-
value:
|
|
355
|
-
disabled:
|
|
356
|
-
title: getI18n('vxe.export.
|
|
357
|
-
content: getI18n('vxe.export.
|
|
354
|
+
value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
|
|
355
|
+
disabled: !isHeader || !hasColgroup || !supportMerge,
|
|
356
|
+
title: getI18n('vxe.export.expColgroupTitle'),
|
|
357
|
+
content: getI18n('vxe.export.expOptColgroup')
|
|
358
358
|
},
|
|
359
359
|
on: {
|
|
360
360
|
input (value: any) {
|
|
361
|
-
defaultOptions.
|
|
361
|
+
defaultOptions.isColgroup = value
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
})
|
|
@@ -368,16 +368,14 @@ export default {
|
|
|
368
368
|
}, [
|
|
369
369
|
h('vxe-checkbox', {
|
|
370
370
|
props: {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
title: getI18n('vxe.export.expColgroupTitle'),
|
|
376
|
-
content: getI18n('vxe.export.expOptColgroup')
|
|
371
|
+
value: hasEmptyData ? false : defaultOptions.original,
|
|
372
|
+
disabled: hasEmptyData,
|
|
373
|
+
title: getI18n('vxe.export.expOriginalTitle'),
|
|
374
|
+
content: getI18n('vxe.export.expOptOriginal')
|
|
377
375
|
},
|
|
378
376
|
on: {
|
|
379
377
|
input (value: any) {
|
|
380
|
-
defaultOptions.
|
|
378
|
+
defaultOptions.original = value
|
|
381
379
|
}
|
|
382
380
|
}
|
|
383
381
|
}),
|
|
@@ -422,6 +420,24 @@ export default {
|
|
|
422
420
|
}
|
|
423
421
|
}
|
|
424
422
|
})
|
|
423
|
+
]),
|
|
424
|
+
|
|
425
|
+
h('div', {
|
|
426
|
+
class: 'vxe-table-export--panel-option-row'
|
|
427
|
+
}, [
|
|
428
|
+
h('vxe-checkbox', {
|
|
429
|
+
props: {
|
|
430
|
+
value: defaultOptions.isFooter,
|
|
431
|
+
disabled: !storeData.hasFooter,
|
|
432
|
+
title: getI18n('vxe.export.expFooterTitle'),
|
|
433
|
+
content: getI18n('vxe.export.expOptFooter')
|
|
434
|
+
},
|
|
435
|
+
on: {
|
|
436
|
+
input (value: any) {
|
|
437
|
+
defaultOptions.isFooter = value
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
})
|
|
425
441
|
])
|
|
426
442
|
])
|
|
427
443
|
])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
2
|
import { VxeUI } from '../../../ui'
|
|
3
|
-
import { isColumnInfo,
|
|
3
|
+
import { isColumnInfo, getCellValue } from '../../src/util'
|
|
4
4
|
import { parseFile, formatText, eqEmptyValue } from '../../../ui/src/utils'
|
|
5
5
|
import { hasClass } from '../../../ui/src/dom'
|
|
6
6
|
import { createHtmlPage, getExportBlobByContent } from './util'
|
|
@@ -220,7 +220,7 @@ function getBooleanValue (cellValue: any) {
|
|
|
220
220
|
function getHeaderTitle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, opts: any, column: any) {
|
|
221
221
|
const columnOpts = $xeTable.computeColumnOpts
|
|
222
222
|
const headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod
|
|
223
|
-
return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.
|
|
223
|
+
return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.isTitle ? column.getTitle() : column.field) || '')
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
function getFooterCellValue ($xeTable: any, opts: any, row: any, column: any) {
|
|
@@ -342,9 +342,11 @@ function hasEllipsis ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, co
|
|
|
342
342
|
function toHtml ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, opts: VxeTablePropTypes.ExportHandleOptions, columns: VxeTableDefines.ColumnInfo[], datas: any[]) {
|
|
343
343
|
const props = $xeTable
|
|
344
344
|
const reactData = $xeTable as unknown as TableReactData
|
|
345
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
345
346
|
|
|
346
347
|
const { id, border, treeConfig, headerAlign: allHeaderAlign, align: allAlign, footerAlign: allFooterAlign, showOverflow: allColumnOverflow, showHeaderOverflow: allColumnHeaderOverflow } = props
|
|
347
|
-
const { isAllSelected, isIndeterminate
|
|
348
|
+
const { isAllSelected, isIndeterminate } = reactData
|
|
349
|
+
const { mergeBodyCellMaps } = internalData
|
|
348
350
|
const treeOpts = $xeTable.computeTreeOpts
|
|
349
351
|
const { print: isPrint, isHeader, isFooter, isColgroup, isMerge, colgroups, original } = opts
|
|
350
352
|
const allCls = 'check-all'
|
|
@@ -442,15 +444,16 @@ function toHtml ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, opts: V
|
|
|
442
444
|
datas.forEach(item => {
|
|
443
445
|
tables.push(
|
|
444
446
|
'<tr>' + columns.map(column => {
|
|
447
|
+
const colid = column.id
|
|
445
448
|
const cellAlign = column.align || allAlign
|
|
446
449
|
const classNames = hasEllipsis($xeTable, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : []
|
|
447
|
-
const cellValue = item[
|
|
450
|
+
const cellValue = item[colid]
|
|
448
451
|
let rowSpan = 1
|
|
449
452
|
let colSpan = 1
|
|
450
|
-
if (isMerge
|
|
453
|
+
if (isMerge) {
|
|
451
454
|
const _rowIndex = $xeTable.getVTRowIndex(item._row)
|
|
452
455
|
const _columnIndex = $xeTable.getVTColumnIndex(column)
|
|
453
|
-
const spanRest =
|
|
456
|
+
const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`]
|
|
454
457
|
if (spanRest) {
|
|
455
458
|
const { rowspan, colspan } = spanRest
|
|
456
459
|
if (!rowspan || !colspan) {
|
|
@@ -1071,18 +1074,19 @@ function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTableP
|
|
|
1071
1074
|
const $xeGrid = $xeTable.$xeGrid
|
|
1072
1075
|
|
|
1073
1076
|
const { treeConfig, showHeader, showFooter } = props
|
|
1074
|
-
const { initStore,
|
|
1075
|
-
const { collectColumn } = internalData
|
|
1077
|
+
const { initStore, isGroup, footerTableData, exportStore, exportParams } = reactData
|
|
1078
|
+
const { collectColumn, mergeBodyList, mergeFooterList } = internalData
|
|
1076
1079
|
const exportOpts = $xeTable.computeExportOpts
|
|
1077
1080
|
const hasTree = treeConfig
|
|
1078
1081
|
const customOpts = $xeTable.computeCustomOpts
|
|
1079
1082
|
const selectRecords = $xeTable.getCheckboxRecords()
|
|
1080
1083
|
const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : {}
|
|
1081
1084
|
const hasFooter = !!footerTableData.length
|
|
1082
|
-
const hasMerge = !!(
|
|
1085
|
+
const hasMerge = !!(mergeBodyList.length || mergeFooterList.length)
|
|
1083
1086
|
const defOpts = Object.assign({
|
|
1084
1087
|
message: true,
|
|
1085
1088
|
isHeader: showHeader,
|
|
1089
|
+
isTitle: showHeader,
|
|
1086
1090
|
isFooter: showFooter,
|
|
1087
1091
|
isColgroup: isGroup,
|
|
1088
1092
|
isMerge: hasMerge,
|
|
@@ -1252,15 +1256,16 @@ export default {
|
|
|
1252
1256
|
const $xeGrid = $xeTable.$xeGrid as VxeGridConstructor
|
|
1253
1257
|
|
|
1254
1258
|
const { treeConfig, showHeader, showFooter } = props
|
|
1255
|
-
const {
|
|
1256
|
-
const { tableFullColumn, afterFullData, collectColumn } = internalData
|
|
1259
|
+
const { mergeFooterList, isGroup } = reactData
|
|
1260
|
+
const { tableFullColumn, afterFullData, mergeBodyList, collectColumn } = internalData
|
|
1257
1261
|
const exportOpts = $xeTable.computeExportOpts
|
|
1258
1262
|
const treeOpts = $xeTable.computeTreeOpts
|
|
1259
1263
|
const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : {}
|
|
1260
|
-
const hasMerge = !!(
|
|
1264
|
+
const hasMerge = !!(mergeBodyList.length || mergeFooterList.length)
|
|
1261
1265
|
const opts = Object.assign({
|
|
1262
1266
|
message: true,
|
|
1263
1267
|
isHeader: showHeader,
|
|
1268
|
+
isTitle: showHeader,
|
|
1264
1269
|
isFooter: showFooter,
|
|
1265
1270
|
isColgroup: isGroup,
|
|
1266
1271
|
isMerge: hasMerge,
|
|
@@ -2,7 +2,7 @@ import { PropType, CreateElement } from 'vue'
|
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
3
|
import { VxeUI } from '../../ui'
|
|
4
4
|
import { isEnableConf, getClass } from '../../ui/src/utils'
|
|
5
|
-
import { getOffsetSize, calcTreeLine,
|
|
5
|
+
import { getOffsetSize, calcTreeLine, getRowid, createHandleGetRowId } from './util'
|
|
6
6
|
import { updateCellTitle } from '../../ui/src/dom'
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
8
8
|
|
|
@@ -36,14 +36,13 @@ function renderLine (h: CreateElement, _vm: any, rowid: string, params: VxeTable
|
|
|
36
36
|
if (slots && (slots as any).line) {
|
|
37
37
|
return $xeTable.callSlot((slots as any).line, params, h)
|
|
38
38
|
}
|
|
39
|
-
const
|
|
39
|
+
const rowRest = fullAllDataRowIdData[rowid]
|
|
40
40
|
let rLevel = 0
|
|
41
41
|
let prevRow = null
|
|
42
|
-
if (
|
|
43
|
-
rLevel =
|
|
44
|
-
prevRow =
|
|
42
|
+
if (rowRest) {
|
|
43
|
+
rLevel = rowRest.level
|
|
44
|
+
prevRow = rowRest.items[rowRest.treeIndex - 1]
|
|
45
45
|
}
|
|
46
|
-
const isFirstRow = $xeTable.eqRow(afterFullData[0], row)
|
|
47
46
|
if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
|
|
48
47
|
return [
|
|
49
48
|
h('div', {
|
|
@@ -53,7 +52,7 @@ function renderLine (h: CreateElement, _vm: any, rowid: string, params: VxeTable
|
|
|
53
52
|
h('div', {
|
|
54
53
|
class: 'vxe-tree--line',
|
|
55
54
|
style: {
|
|
56
|
-
height: `${
|
|
55
|
+
height: `${$xeTable.eqRow(afterFullData[0], row) ? 1 : calcTreeLine(params, prevRow)}px`,
|
|
57
56
|
bottom: `-${Math.floor(cellHeight / 2)}px`,
|
|
58
57
|
left: `${(rLevel * treeOpts.indent) + (rLevel ? 2 - getOffsetSize($xeTable) : 0) + 16}px`
|
|
59
58
|
}
|
|
@@ -90,10 +89,9 @@ function renderTdColumn (
|
|
|
90
89
|
const tableInternalData = $xeTable as unknown as TableInternalData
|
|
91
90
|
const $xeGrid = $xeTable.$xeGrid
|
|
92
91
|
|
|
93
|
-
const { fullAllDataRowIdData, fullColumnIdData, visibleColumn } = tableInternalData
|
|
94
92
|
const { columnKey, resizable: allResizable, showOverflow: allShowOverflow, border, height, cellClassName: allCellClassName, cellStyle, align: allAlign, spanMethod, mouseConfig, editConfig, editRules, tooltipConfig, padding: allPadding } = tableProps
|
|
95
|
-
const { tableData, dragRow, overflowX, currentColumn, scrollXLoad, scrollYLoad, calcCellHeightFlag, resizeHeightFlag, resizeWidthFlag,
|
|
96
|
-
const { afterFullData, scrollXStore, scrollYStore } = tableInternalData
|
|
93
|
+
const { tableData, dragRow, overflowX, currentColumn, scrollXLoad, scrollYLoad, mergeBodyFlag, calcCellHeightFlag, resizeHeightFlag, resizeWidthFlag, editStore, isAllOverflow, validErrorMaps } = tableReactData
|
|
94
|
+
const { fullAllDataRowIdData, fullColumnIdData, mergeBodyCellMaps, visibleColumn, afterFullData, mergeBodyList, scrollXStore, scrollYStore } = tableInternalData
|
|
97
95
|
const cellOpts = $xeTable.computeCellOpts
|
|
98
96
|
const validOpts = $xeTable.computeValidOpts
|
|
99
97
|
const checkboxOpts = $xeTable.computeCheckboxOpts
|
|
@@ -221,8 +219,8 @@ function renderTdColumn (
|
|
|
221
219
|
}
|
|
222
220
|
let isMergeCell = false
|
|
223
221
|
// 合并行或列
|
|
224
|
-
if (
|
|
225
|
-
const spanRest =
|
|
222
|
+
if (mergeBodyFlag && mergeBodyList.length) {
|
|
223
|
+
const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`]
|
|
226
224
|
if (spanRest) {
|
|
227
225
|
const { rowspan, colspan } = spanRest
|
|
228
226
|
if (!rowspan || !colspan) {
|
|
@@ -251,7 +249,7 @@ function renderTdColumn (
|
|
|
251
249
|
}
|
|
252
250
|
}
|
|
253
251
|
// 如果被合并不可隐藏
|
|
254
|
-
if (fixedHiddenColumn &&
|
|
252
|
+
if (fixedHiddenColumn && isMergeCell) {
|
|
255
253
|
if (tdAttrs.colspan > 1 || tdAttrs.rowspan > 1) {
|
|
256
254
|
fixedHiddenColumn = false
|
|
257
255
|
}
|
|
@@ -11,20 +11,6 @@ const renderType = 'footer'
|
|
|
11
11
|
|
|
12
12
|
const { renderer, renderEmptyElement } = VxeUI
|
|
13
13
|
|
|
14
|
-
function mergeFooterMethod (mergeFooterList: VxeTableDefines.MergeItem[], _rowIndex: number, _columnIndex: number) {
|
|
15
|
-
for (let mIndex = 0; mIndex < mergeFooterList.length; mIndex++) {
|
|
16
|
-
const { row: mergeRowIndex, col: mergeColIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeFooterList[mIndex]
|
|
17
|
-
if (mergeColIndex > -1 && mergeRowIndex > -1 && mergeRowspan && mergeColspan) {
|
|
18
|
-
if (mergeRowIndex === _rowIndex && mergeColIndex === _columnIndex) {
|
|
19
|
-
return { rowspan: mergeRowspan, colspan: mergeColspan }
|
|
20
|
-
}
|
|
21
|
-
if (_rowIndex >= mergeRowIndex && _rowIndex < mergeRowIndex + mergeRowspan && _columnIndex >= mergeColIndex && _columnIndex < mergeColIndex + mergeColspan) {
|
|
22
|
-
return { rowspan: 0, colspan: 0 }
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
14
|
function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.ColumnInfo[], footerTableData: any[], row: any, $rowIndex: number, _rowIndex: number) {
|
|
29
15
|
const props = _vm
|
|
30
16
|
const $xeTable = _vm.$parent as VxeTableConstructor & VxeTablePrivateMethods
|
|
@@ -35,8 +21,8 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
|
|
|
35
21
|
|
|
36
22
|
const { fixedType } = props
|
|
37
23
|
const { resizable: allResizable, border, footerCellClassName, footerCellStyle, footerAlign: allFooterAlign, footerSpanMethod, align: allAlign, columnKey, showFooterOverflow: allColumnFooterOverflow } = tableProps
|
|
38
|
-
const { scrollXLoad, scrollYLoad, overflowX, currentColumn
|
|
39
|
-
const { fullColumnIdData, scrollXStore } = tableInternalData
|
|
24
|
+
const { scrollXLoad, scrollYLoad, overflowX, currentColumn } = tableReactData
|
|
25
|
+
const { fullColumnIdData, mergeFooterList, mergeFooterCellMaps, scrollXStore } = tableInternalData
|
|
40
26
|
const tooltipOpts = $xeTable.computeTooltipOpts
|
|
41
27
|
const { isAllColumnDrag } = $xeTable.resizableOpts
|
|
42
28
|
const columnOpts = $xeTable.computeColumnOpts
|
|
@@ -115,7 +101,7 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
|
|
|
115
101
|
let isMergeCell = false
|
|
116
102
|
// 合并行或列
|
|
117
103
|
if (mergeFooterList.length) {
|
|
118
|
-
const spanRest =
|
|
104
|
+
const spanRest = mergeFooterCellMaps[`${_rowIndex}:${_columnIndex}`]
|
|
119
105
|
if (spanRest) {
|
|
120
106
|
const { rowspan, colspan } = spanRest
|
|
121
107
|
if (!rowspan || !colspan) {
|