- 直接导出 Txt 文件
+ 加载5k条
+ 加载1w条
-
-
-
-
+ height="800"
+ :loading="loading"
+ :column-config="{resizable: true}"
+ :scroll-x="{enabled: true, gt: 0}"
+ :scroll-y="{enabled: true, gt: 0}"
+ :data="tableData"
+ :footer-data="footerData">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
diff --git a/package.json b/package.json
index 12f97c9243..581e3c1308 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "vxe-table",
- "version": "4.7.97",
+ "version": "4.8.0-beta.0",
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
"scripts": {
"update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
"style": "lib/style.css",
"typings": "types/index.d.ts",
"dependencies": {
- "vxe-pc-ui": "^4.2.32"
+ "vxe-pc-ui": "^4.2.34"
},
"devDependencies": {
"@types/resize-observer-browser": "^0.1.11",
diff --git a/packages/locale/lang/ja-JP.ts b/packages/locale/lang/ja-JP.ts
index a501d0c9e8..235dbe352e 100644
--- a/packages/locale/lang/ja-JP.ts
+++ b/packages/locale/lang/ja-JP.ts
@@ -607,11 +607,11 @@ export default {
clearSort: '清除排序',
sortAsc: '升序',
sortDesc: '降序',
- fixedColumn: '锁定列',
- fixedGroup: '锁定组',
- cancelFixed: '取消锁定',
- fixedLeft: '锁定左侧',
- fixedRight: '锁定右侧',
+ fixedColumn: '冻结列',
+ fixedGroup: '冻结分组',
+ cancelFixed: '取消冻结',
+ fixedLeft: '冻结到左侧',
+ fixedRight: '冻结到右侧',
clearFilter: '清除筛选',
textOption: '文本筛选',
numberOption: '数值筛选'
diff --git a/packages/locale/lang/ko-KR.ts b/packages/locale/lang/ko-KR.ts
index 4848af1f7e..7948ca28b8 100644
--- a/packages/locale/lang/ko-KR.ts
+++ b/packages/locale/lang/ko-KR.ts
@@ -648,11 +648,11 @@ export default {
clearSort: '清除排序',
sortAsc: '升序',
sortDesc: '降序',
- fixedColumn: '锁定列',
- fixedGroup: '锁定组',
- cancelFixed: '取消锁定',
- fixedLeft: '锁定左侧',
- fixedRight: '锁定右侧',
+ fixedColumn: '冻结列',
+ fixedGroup: '冻结分组',
+ cancelFixed: '取消冻结',
+ fixedLeft: '冻结到左侧',
+ fixedRight: '冻结到右侧',
clearFilter: '清除筛选',
textOption: '文本筛选',
numberOption: '数值筛选'
diff --git a/packages/locale/lang/uk-UA.ts b/packages/locale/lang/uk-UA.ts
index 4848af1f7e..7948ca28b8 100644
--- a/packages/locale/lang/uk-UA.ts
+++ b/packages/locale/lang/uk-UA.ts
@@ -648,11 +648,11 @@ export default {
clearSort: '清除排序',
sortAsc: '升序',
sortDesc: '降序',
- fixedColumn: '锁定列',
- fixedGroup: '锁定组',
- cancelFixed: '取消锁定',
- fixedLeft: '锁定左侧',
- fixedRight: '锁定右侧',
+ fixedColumn: '冻结列',
+ fixedGroup: '冻结分组',
+ cancelFixed: '取消冻结',
+ fixedLeft: '冻结到左侧',
+ fixedRight: '冻结到右侧',
clearFilter: '清除筛选',
textOption: '文本筛选',
numberOption: '数值筛选'
diff --git a/packages/locale/lang/vi-VN.ts b/packages/locale/lang/vi-VN.ts
index 4848af1f7e..7948ca28b8 100644
--- a/packages/locale/lang/vi-VN.ts
+++ b/packages/locale/lang/vi-VN.ts
@@ -648,11 +648,11 @@ export default {
clearSort: '清除排序',
sortAsc: '升序',
sortDesc: '降序',
- fixedColumn: '锁定列',
- fixedGroup: '锁定组',
- cancelFixed: '取消锁定',
- fixedLeft: '锁定左侧',
- fixedRight: '锁定右侧',
+ fixedColumn: '冻结列',
+ fixedGroup: '冻结分组',
+ cancelFixed: '取消冻结',
+ fixedLeft: '冻结到左侧',
+ fixedRight: '冻结到右侧',
clearFilter: '清除筛选',
textOption: '文本筛选',
numberOption: '数值筛选'
diff --git a/packages/locale/lang/zh-CHT.ts b/packages/locale/lang/zh-CHT.ts
index 28c8d9c3f2..86e287f3e2 100644
--- a/packages/locale/lang/zh-CHT.ts
+++ b/packages/locale/lang/zh-CHT.ts
@@ -648,11 +648,11 @@ export default {
clearSort: '清除排序',
sortAsc: '升序',
sortDesc: '降序',
- fixedColumn: '鎖定列',
- fixedGroup: '鎖定組',
- cancelFixed: '取消鎖定',
- fixedLeft: '鎖定左側',
- fixedRight: '鎖定右側',
+ fixedColumn: '冻结列',
+ fixedGroup: '冻结分组',
+ cancelFixed: '取消冻结',
+ fixedLeft: '冻结到左侧',
+ fixedRight: '冻结到右侧',
clearFilter: '清除篩選',
textOption: '文字篩選',
numberOption: '數值篩選'
diff --git a/packages/locale/lang/zh-CN.ts b/packages/locale/lang/zh-CN.ts
index 4848af1f7e..7948ca28b8 100644
--- a/packages/locale/lang/zh-CN.ts
+++ b/packages/locale/lang/zh-CN.ts
@@ -648,11 +648,11 @@ export default {
clearSort: '清除排序',
sortAsc: '升序',
sortDesc: '降序',
- fixedColumn: '锁定列',
- fixedGroup: '锁定组',
- cancelFixed: '取消锁定',
- fixedLeft: '锁定左侧',
- fixedRight: '锁定右侧',
+ fixedColumn: '冻结列',
+ fixedGroup: '冻结分组',
+ cancelFixed: '取消冻结',
+ fixedLeft: '冻结到左侧',
+ fixedRight: '冻结到右侧',
clearFilter: '清除筛选',
textOption: '文本筛选',
numberOption: '数值筛选'
diff --git a/packages/table/module/edit/hook.ts b/packages/table/module/edit/hook.ts
index d5eccc4ae2..50df68984e 100644
--- a/packages/table/module/edit/hook.ts
+++ b/packages/table/module/edit/hook.ts
@@ -86,7 +86,7 @@ hooks.add('tableEditModule', {
}
parentChilds[funcName](item)
mapChilds[funcName](item)
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1 }
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1, height: 0 }
fullDataRowIdData[rowid] = rest
fullAllDataRowIdData[rowid] = rest
} else {
@@ -97,7 +97,7 @@ hooks.add('tableEditModule', {
}
afterFullData[funcName](item)
tableFullTreeData[funcName](item)
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: tableFullTreeData, parent: null, level: 0 }
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: tableFullTreeData, parent: null, level: 0, height: 0 }
fullDataRowIdData[rowid] = rest
fullAllDataRowIdData[rowid] = rest
}
@@ -172,7 +172,7 @@ hooks.add('tableEditModule', {
targetIndex = targetIndex + 1
}
parentMapChilds.splice(targetIndex, 0, item)
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1 }
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1, height: 0 }
fullDataRowIdData[rowid] = rest
fullAllDataRowIdData[rowid] = rest
})
diff --git a/packages/table/render/index.ts b/packages/table/render/index.ts
index c323d4549e..a9330625c3 100644
--- a/packages/table/render/index.ts
+++ b/packages/table/render/index.ts
@@ -13,7 +13,7 @@ const { getConfig, renderer, getI18n } = VxeUI
const componentDefaultModelProp = 'modelValue'
-const defaultCompProps = { transfer: true }
+const defaultCompProps = {}
function parseDate (value: any, props: any) {
return value && props.valueFormat ? XEUtils.toStringDate(value, props.valueFormat) : value
diff --git a/packages/table/src/body.ts b/packages/table/src/body.ts
index f203baee61..8d7e550bb0 100644
--- a/packages/table/src/body.ts
+++ b/packages/table/src/body.ts
@@ -1,8 +1,8 @@
import { createCommentVNode, defineComponent, h, ref, Ref, PropType, inject, nextTick, ComputedRef, onBeforeUnmount, onMounted, onUnmounted } from 'vue'
import XEUtils from 'xe-utils'
import { VxeUI } from '../../ui'
-import { mergeBodyMethod, getRowid, removeScrollListener, restoreScrollListener, XEBodyScrollElement } from './util'
-import { updateCellTitle, getPropClass } from '../../ui/src/dom'
+import { mergeBodyMethod, getRowid, XEBodyScrollElement } from './util'
+import { updateCellTitle, getPropClass, setScrollTop, setScrollLeft } from '../../ui/src/dom'
import { isEnableConf } from '../../ui/src/utils'
import { getSlotVNs } from '../../ui/src/vn'
@@ -35,7 +35,7 @@ export default defineComponent({
const xesize = inject('xesize', null as ComputedRef