登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情
代码拉取完成,页面将自动刷新
开源项目
>
WEB应用开发
>
Vue扩展组件
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
516
Star
5.2K
Fork
1K
GVP
XE
/
vxe-table
代码
Issues
496
Pull Requests
6
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
gird里数据代理导出全部数据,表格为空
待办的
#IDCP0Q
UI6_皮皮潘
创建于
2025-12-12 17:46
### 可复现的链接(必须为公开链接,仅包含能复现问题的示例代码): grid数据代理时导出全量数据表格为空,具体代码看问题描述,有完整代码放进html文件就可以展示 ### 是否已准备好复现链接与示例代码? - [x] 我确定已准备好以上复现链接 ### 问题描述与截图: <!DOCTYPE html> <html lang=""> <head> <meta charset="utf-8"> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- Use style --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-pc-ui@4.11.1/lib/style.min.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-table@4.17.28/lib/style.min.css"> <!-- Use vue --> <script src="https://cdn.jsdelivr.net/npm/vue@3.5.16/dist/vue.global.prod.js"></script> <!-- Use vxe --> <script src="https://cdn.jsdelivr.net/npm/xe-utils/dist/xe-utils.umd.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vxe-pc-ui@4.11.1/lib/index.umd.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vxe-table@4.17.28/lib/index.umd.min.js"></script> </head> <body> <div id="app"> <div style="max-width: 1000px;margin: 32px auto;"> <div> <vxe-button status="primary" @click="exportEvent">点击导出</vxe-button> <vxe-grid ref="gridRef" v-bind="gridOptions"></vxe-grid> </div> </div> </div> <script> (function () { const list = [ { id: 10001, name: 'Test1', nickname: 'T1', role: 'Develop', sex: 'Man', age: 28, address: 'Shenzhen' }, { id: 10002, name: 'Test2', nickname: 'T2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' }, { id: 10003, name: 'Test3', nickname: 'T3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' }, { id: 10004, name: 'Test4', nickname: 'T4', role: 'Designer', sex: 'Women', age: 23, address: 'test abc' }, { id: 10005, name: 'Test5', nickname: 'T5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' }, { id: 10006, name: 'Test6', nickname: 'T6', role: 'Designer', sex: 'Women', age: 21, address: 'Shenzhen' }, { id: 10007, name: 'Test7', nickname: 'T7', role: 'Test', sex: 'Man', age: 29, address: 'Shenzhen' }, { id: 10008, name: 'Test8', nickname: 'T8', role: 'Develop', sex: 'Man', age: 35, address: 'test abc' }, { id: 10009, name: 'Test9', nickname: 'T9', role: 'Develop', sex: 'Man', age: 35, address: 'Shenzhen' }, { id: 100010, name: 'Test10', nickname: 'T10', role: 'Develop', sex: 'Man', age: 35, address: 'Guangzhou' }, { id: 100011, name: 'Test11', nickname: 'T11', role: 'Develop', sex: 'Man', age: 49, address: 'Guangzhou' }, { id: 100012, name: 'Test12', nickname: 'T12', role: 'Develop', sex: 'Women', age: 45, address: 'Shanghai' }, { id: 100013, name: 'Test13', nickname: 'T13', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' }, { id: 100014, name: 'Test14', nickname: 'T14', role: 'Test', sex: 'Man', age: 29, address: 'Shanghai' }, { id: 100015, name: 'Test15', nickname: 'T15', role: 'Develop', sex: 'Man', age: 39, address: 'Guangzhou' }, { id: 100016, name: 'Test16', nickname: 'T16', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' }, { id: 100017, name: 'Test17', nickname: 'T17', role: 'Test', sex: 'Man', age: 39, address: 'Shanghai' }, { id: 100018, name: 'Test18', nickname: 'T18', role: 'Develop', sex: 'Man', age: 44, address: 'Guangzhou' }, { id: 100019, name: 'Test19', nickname: 'T19', role: 'Develop', sex: 'Man', age: 39, address: 'Guangzhou' }, { id: 100020, name: 'Test20', nickname: 'T20', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' }, { id: 100021, name: 'Test21', nickname: 'T21', role: 'Test', sex: 'Man', age: 39, address: 'Shanghai' }, { id: 100022, name: 'Test22', nickname: 'T22', role: 'Develop', sex: 'Man', age: 44, address: 'Guangzhou' } ]; // 模拟接口 const findPageList = (pageSize, currentPage) => { return new Promise(resolve => { setTimeout(() => { resolve({ result: list.slice((currentPage - 1) * pageSize, currentPage * pageSize), page: { total: list.length } }); }, 100); }); }; // 模拟接口 const findAllList = () => { return new Promise(resolve => { setTimeout(() => { resolve(list); }, 100); }); }; var App = { data() { const gridOptions = { border: true, showOverflow: true, height: 500, pagerConfig: { pageSize: 10 }, exportConfig: { mode: 'all', modes: ['current', 'all'] }, toolbarConfig: { export: true }, columns: [ { type: 'checkbox', width: 50 }, { type: 'seq', width: 70 }, { field: 'name', title: 'Name' }, { field: 'nickname', title: 'Nickname' }, { field: 'role', title: 'Role' }, { field: 'address', title: 'Address', showOverflow: true } ], proxyConfig: { ajax: { query: ({ page }) => { // 默认接收 Promise<{ result: [], page: { total: 100 } }> return findPageList(page.pageSize, page.currentPage); }, // 当触发 mode=all 导出全量数据时调用 queryAll: () => { // 默认接收 Promise<any[]> return findAllList(); } } } }; return { gridOptions }; }, methods: { exportEvent() { const $grid = this.$refs.gridRef; if ($grid) { $grid.exportData({ mode: 'all' }); } } } } // 全局配置 VxeUI.setConfig({ // zIndex: 999 // 全局 zIndex 起始值,如果项目的的 z-index 样式值过大时就需要跟随设置更大,避免被遮挡;也可以使用 dom-zindex 共享配置 }) Vue.createApp(App).use(VxeUIBase).use(VxeUITable).mount('#app') })() </script> </body> </html> ### 期望的结果: ### 操作系统: window11 ### 浏览器版本: chrome136.0.7103.93 ### vue 版本: 3.5.16 ### vxe-pc-ui 版本: 4.11.1 ### vxe-table 版本: 4.17.28 ### 是否使用当前最新版本? - [x] 我确定已经更新到最新版本后依然存在该问题
### 可复现的链接(必须为公开链接,仅包含能复现问题的示例代码): grid数据代理时导出全量数据表格为空,具体代码看问题描述,有完整代码放进html文件就可以展示 ### 是否已准备好复现链接与示例代码? - [x] 我确定已准备好以上复现链接 ### 问题描述与截图: <!DOCTYPE html> <html lang=""> <head> <meta charset="utf-8"> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- Use style --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-pc-ui@4.11.1/lib/style.min.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-table@4.17.28/lib/style.min.css"> <!-- Use vue --> <script src="https://cdn.jsdelivr.net/npm/vue@3.5.16/dist/vue.global.prod.js"></script> <!-- Use vxe --> <script src="https://cdn.jsdelivr.net/npm/xe-utils/dist/xe-utils.umd.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vxe-pc-ui@4.11.1/lib/index.umd.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vxe-table@4.17.28/lib/index.umd.min.js"></script> </head> <body> <div id="app"> <div style="max-width: 1000px;margin: 32px auto;"> <div> <vxe-button status="primary" @click="exportEvent">点击导出</vxe-button> <vxe-grid ref="gridRef" v-bind="gridOptions"></vxe-grid> </div> </div> </div> <script> (function () { const list = [ { id: 10001, name: 'Test1', nickname: 'T1', role: 'Develop', sex: 'Man', age: 28, address: 'Shenzhen' }, { id: 10002, name: 'Test2', nickname: 'T2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' }, { id: 10003, name: 'Test3', nickname: 'T3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' }, { id: 10004, name: 'Test4', nickname: 'T4', role: 'Designer', sex: 'Women', age: 23, address: 'test abc' }, { id: 10005, name: 'Test5', nickname: 'T5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' }, { id: 10006, name: 'Test6', nickname: 'T6', role: 'Designer', sex: 'Women', age: 21, address: 'Shenzhen' }, { id: 10007, name: 'Test7', nickname: 'T7', role: 'Test', sex: 'Man', age: 29, address: 'Shenzhen' }, { id: 10008, name: 'Test8', nickname: 'T8', role: 'Develop', sex: 'Man', age: 35, address: 'test abc' }, { id: 10009, name: 'Test9', nickname: 'T9', role: 'Develop', sex: 'Man', age: 35, address: 'Shenzhen' }, { id: 100010, name: 'Test10', nickname: 'T10', role: 'Develop', sex: 'Man', age: 35, address: 'Guangzhou' }, { id: 100011, name: 'Test11', nickname: 'T11', role: 'Develop', sex: 'Man', age: 49, address: 'Guangzhou' }, { id: 100012, name: 'Test12', nickname: 'T12', role: 'Develop', sex: 'Women', age: 45, address: 'Shanghai' }, { id: 100013, name: 'Test13', nickname: 'T13', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' }, { id: 100014, name: 'Test14', nickname: 'T14', role: 'Test', sex: 'Man', age: 29, address: 'Shanghai' }, { id: 100015, name: 'Test15', nickname: 'T15', role: 'Develop', sex: 'Man', age: 39, address: 'Guangzhou' }, { id: 100016, name: 'Test16', nickname: 'T16', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' }, { id: 100017, name: 'Test17', nickname: 'T17', role: 'Test', sex: 'Man', age: 39, address: 'Shanghai' }, { id: 100018, name: 'Test18', nickname: 'T18', role: 'Develop', sex: 'Man', age: 44, address: 'Guangzhou' }, { id: 100019, name: 'Test19', nickname: 'T19', role: 'Develop', sex: 'Man', age: 39, address: 'Guangzhou' }, { id: 100020, name: 'Test20', nickname: 'T20', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' }, { id: 100021, name: 'Test21', nickname: 'T21', role: 'Test', sex: 'Man', age: 39, address: 'Shanghai' }, { id: 100022, name: 'Test22', nickname: 'T22', role: 'Develop', sex: 'Man', age: 44, address: 'Guangzhou' } ]; // 模拟接口 const findPageList = (pageSize, currentPage) => { return new Promise(resolve => { setTimeout(() => { resolve({ result: list.slice((currentPage - 1) * pageSize, currentPage * pageSize), page: { total: list.length } }); }, 100); }); }; // 模拟接口 const findAllList = () => { return new Promise(resolve => { setTimeout(() => { resolve(list); }, 100); }); }; var App = { data() { const gridOptions = { border: true, showOverflow: true, height: 500, pagerConfig: { pageSize: 10 }, exportConfig: { mode: 'all', modes: ['current', 'all'] }, toolbarConfig: { export: true }, columns: [ { type: 'checkbox', width: 50 }, { type: 'seq', width: 70 }, { field: 'name', title: 'Name' }, { field: 'nickname', title: 'Nickname' }, { field: 'role', title: 'Role' }, { field: 'address', title: 'Address', showOverflow: true } ], proxyConfig: { ajax: { query: ({ page }) => { // 默认接收 Promise<{ result: [], page: { total: 100 } }> return findPageList(page.pageSize, page.currentPage); }, // 当触发 mode=all 导出全量数据时调用 queryAll: () => { // 默认接收 Promise<any[]> return findAllList(); } } } }; return { gridOptions }; }, methods: { exportEvent() { const $grid = this.$refs.gridRef; if ($grid) { $grid.exportData({ mode: 'all' }); } } } } // 全局配置 VxeUI.setConfig({ // zIndex: 999 // 全局 zIndex 起始值,如果项目的的 z-index 样式值过大时就需要跟随设置更大,避免被遮挡;也可以使用 dom-zindex 共享配置 }) Vue.createApp(App).use(VxeUIBase).use(VxeUITable).mount('#app') })() </script> </body> </html> ### 期望的结果: ### 操作系统: window11 ### 浏览器版本: chrome136.0.7103.93 ### vue 版本: 3.5.16 ### vxe-pc-ui 版本: 4.11.1 ### vxe-table 版本: 4.17.28 ### 是否使用当前最新版本? - [x] 我确定已经更新到最新版本后依然存在该问题
评论 (
0
)
登录
后才可以发表评论
状态
待办的
待办的
进行中
已完成
已关闭
负责人
未设置
标签
bug
未设置
标签管理
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (
-
)
标签 (
-
)
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(1)
TypeScript
1
https://gitee.com/x-extends/vxe-table.git
git@gitee.com:x-extends/vxe-table.git
x-extends
vxe-table
vxe-table
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册