vxe-table 利用配置 ajax 方式自动请求资料,适用于简单场景的列表
2025-10-14 08:12 tlnshuju 阅读(0) 评论(0) 收藏 举报vxe-table 通过配置 ajax 方式自动请求数据,适用于简单场景的列表
当系统中很多页面都是简单列表时,每次都要手动去请求接口后再赋值,过程就会比较冗余繁琐。解决方式一般就是将封装一下。本章的方式是通过 vxe-grid 配置 ajax 来实现自动请求加载数据,无需封装组件,适用于通用简单列表。
查看官网:https://vxetable.cn/
普通列表
通过 proxy-config.ajax.query 配置查询接口
<template><div><vxe-grid v-bind="gridOptions"></vxe-grid></div>
</template><script lang="ts" setup>import { reactive } from 'vue'import type { VxeGridProps } from 'vxe-table'interface RowVO {id: numbername: stringnickname: stringrole: stringsex: stringage: numberaddress: string}// 模拟后台接口const findList = () => {console.log('调用查询接口')return new Promise<RowVO[]>(resolve => {setTimeout(() => {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' }]resolve(list)}, 300)})}const gridOptions = reactive<VxeGridProps<RowVO>>({border: true,height: 500,proxyConfig: {// showLoading: false, // 关闭加载中ajax: {query: () => {// 默认接收 Promise<RowVO[]>return findList()}}},columns: [{ type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'nickname', title: 'Nickname' },{ field: 'role', title: 'Role' },{ field: 'address', title: 'Address', showOverflow: true }]})</script>
分页列表
分页查询跟列表查询的配置是一模一样的,区别就是多加一个分页配置项 page-config,以及接口响应结果带分页信息
<template><div><vxe-grid v-bind="gridOptions"></vxe-grid></div>
</template><script lang="ts" setup>import { reactive } from 'vue'import type { VxeGridProps } from 'vxe-table'interface RowVO {id: numbername: stringnickname: stringrole: stringsex: stringage: numberaddress: string}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: number, currentPage: number) => {console.log(`调用查询接口 pageSize=${pageSize} currentPage=${currentPage}`)return new Promise<{result: RowVO[]page: {total: number}}>(resolve => {setTimeout(() => {resolve({result: list.slice((currentPage - 1) * pageSize, currentPage * pageSize),page: {total: list.length}})}, 100)})}const gridOptions = reactive<VxeGridProps<RowVO>>({border: true,height: 500,pagerConfig: {}, // 启用分页proxyConfig: {// showLoading: false, // 关闭加载中// response: {// result: 'result', // 配置响应结果列表字段// total: 'page.total' // 配置响应结果总页数字段// },ajax: {query: ({ page }) => {// 默认接收 Promise<{ result: RowVO[], page: { total: 100 } }>return findPageList(page.pageSize, page.currentPage)}}},columns: [{ type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'nickname', title: 'Nickname' },{ field: 'role', title: 'Role' },{ field: 'address', title: 'Address', showOverflow: true }]})</script>
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/936583.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
实用指南:SQL Server从入门到项目实践(超值版)读书笔记 27
实用指南:SQL Server从入门到项目实践(超值版)读书笔记 27pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…
VMware ESXi 9.0.1.0 macOS Unlocker OEM BIOS 2.7 H3C 新华三 定制版
VMware ESXi 9.0.1.0 macOS Unlocker & OEM BIOS 2.7 H3C 新华三 定制版VMware ESXi 9.0.1.0 macOS Unlocker & OEM BIOS 2.7 H3C 新华三 定制版
VMware ESXi 9.0.1.0 macOS Unlocker & OEM BIOS 2.7 标准…
LGP8866 [NOIP 2022] 喵了个喵 学习笔记
LGP8866 [NOIP 2022] 喵了个喵 学习笔记
\(\texttt{Luogu Link}\)
前言
史。无需多言。
本笔记也许参考了这篇题解。对于一道构造题来说,此解析写的确实认真负责,配最高赞。
题意简述
小 \(\texttt{E}\) 喜欢上了一款…
大数据毕业设计选题推荐-基于大材料的全国饮品门店数据可视化分析系统-Hadoop-Spark-数据可视化-BigData
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
LibreOffice Impress播放不出视频的解决方法
https://codecguide.com/download_k-lite_codec_pack_basic.htm
下载安装这里的 K-Lite Codec Pack Basic 就可以了。
参考资料:
https://wiki.documentfoundation.org/Media_Support/Windows
pypdfium2 PDFium 的python 包装
pypdfium2 PDFium 的python 包装pypdfium2 是对于PDFium的python 包装,官方说明处理任务性能可以接近PyMuPDF
说明
pypdfium2 内部基于了ctypesgen 包装(相比原始进行了自己的扩展),生成python 绑定的代码,这样可以…
VMware ESXi 9.0.1.0 macOS Unlocker OEM BIOS 2.7 Inspur 浪潮 定制版
VMware ESXi 9.0.1.0 macOS Unlocker & OEM BIOS 2.7 Inspur 浪潮 定制版VMware ESXi 9.0.1.0 macOS Unlocker & OEM BIOS 2.7 Inspur 浪潮 定制版
VMware ESXi 9.0.1.0 macOS Unlocker & OEM BIOS 2.7 标…
Exchange 异常关机后无法登录owa/ecp 以及ems无法连接远程服务器
登陆owa ecp页面,能显示输入用户名密码界面,输入后报网页已丢失
服务器上用ems连接服务器,报
New-PSSession : [exchange.test.com] 连接到远程服务器 exchange.test.com 失败,并显示以下错误消息: [ClientAccessS…
【GitHub每日速递 251014】Claude Code:用自然语言命令让编码快到飞起!
原文: https://mp.weixin.qq.com/s/Th2Dg9G4O4wMD-QDHcW84A
Claude Code:用自然语言命令让编码快到飞起!
Claude Code是一个基于自然语言交互的智能终端编程助手工具。简单讲,它能理解你的代码库,通过对话帮你写代…
新项目完结,Ai Agent 智能体、拖拉拽编排!
作者:小傅哥
博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!😄大家好,我是技术UP主小傅哥。
这是一套综合前后端 + Dev-Ops,基于 Spring Ai 框架实现,Ai Agent 智能体。耗时7个多月,3…
硅谷大佬揭秘创业者成功法则
Ben Horowitz的创业故事让人震撼:18个月内把公司从2万营收做到7.5亿估值上市。这位硅谷大佬分享的经验,颠覆了很多人对创业的认知。
💡 三个核心观点让人印象深刻:真正的创业者都是被逼出来的。Ben说得很直接:&q…
2025年南通宠物医院最新权威推荐榜:专业诊疗与暖心服务口碑之选
2025年南通宠物医院最新权威推荐榜:专业诊疗与暖心服务口碑之选随着宠物经济的蓬勃发展,越来越多的家庭选择养宠作为生活的一部分。然而,宠物健康问题也随之而来,选择一家可靠的宠物医院显得尤为重要。为了帮助筛选…
2025年10月学校家具定制厂家最新推荐排行榜,课桌椅,宿舍床,图书馆家具,教室家具公司推荐!
2025年10月学校家具定制厂家最新推荐排行榜:课桌椅、宿舍床、图书馆家具、教室家具公司推荐随着教育行业的不断发展,学校家具的需求也在逐年增长。优质的学校家具不仅能够提升学生的学习体验,还能为学校的整体形象加…
2025年10月螺杆泵厂家最新推荐排行榜,单螺杆泵,双螺杆泵,三螺杆泵,高效耐用品质之选!
2025年10月螺杆泵厂家最新推荐排行榜,单螺杆泵,双螺杆泵,三螺杆泵,高效耐用品质之选!引言螺杆泵作为一种重要的流体输送设备,在化工、石油、食品、制药等行业中有着广泛的应用。随着技术的不断进步和市场需求的变…
2025年恒温恒湿系统厂家最新推荐榜单,精加工车间/厂房/美术馆/仓库/计算机房/档案室/工业/工厂车间恒温恒湿系统公司推荐
2025年恒温恒湿系统厂家最新推荐榜单,精加工车间/厂房/美术馆/仓库/计算机房/档案室/工业/工厂车间恒温恒湿系统公司推荐随着工业和科技的不断发展,恒温恒湿系统在各个领域的应用越来越广泛。无论是精加工车间、厂房…
2025年会议系统厂家最新推荐排行榜,专业音视频会议系统,智能会议解决方案,高清视频会议系统公司推荐!
2025年会议系统厂家最新推荐排行榜,专业音视频会议系统,智能会议解决方案,高清视频会议系统公司推荐!随着数字化转型的加速,企业对高效、智能的会议系统需求日益增长。专业的音视频会议系统和智能会议解决方案成为…
RSA密钥生成基准测试深度解析
本文深入探讨RSA密钥生成的基准测试方法,涵盖素数生成、米勒-拉宾测试和小因子试除等关键技术,通过数学方法构建代表性测试序列,实现稳定的性能评估和对比分析。RSA密钥生成基准测试
RSA密钥生成在概念上很简单,但…
MaxKB 在不同场景下 RAG 引擎与向量存储的应用案例分析
一、MaxKB 概述
MaxKB 是一款基于大语言模型和 RAG 技术的开源知识库问答系统,在企业内部知识管理、客户服务、学术研究与教育等领域都有广泛应用。作为专注于知识库问答场景的软件产品,它能够为企业智能化进程注入新…