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.pswp.cn/news/915641.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915641.shtml
英文地址,请注明出处:http://en.pswp.cn/news/915641.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zabbix 企业级分布式监控系统深度解析

一、监控系统核心认知1.1 监控的本质与价值监控&#xff08;Monitoring&#xff09;的核心是 “检测与预防”&#xff0c;在 IT 运维中占据约 30% 的权重。其核心价值体现在&#xff1a;风险预判&#xff1a;通过实时监测指标异常&#xff0c;提前发现潜在故障&#xff08;如服…

使用 .NET 6.0 的简单 WebSocket 客户端和服务器应用程序

几个月前&#xff0c;有同事来找我&#xff0c;问能否用 .NET 创建一个简单的 WebSocket 服务器&#xff08;以及之后的客户端&#xff09;。据我了解&#xff0c;他想用它来控制对方电脑上的进程。或许对其他人也有用&#xff0c;所以我把它发布在这里。让我们从服务器开始。我…

【ASP.NET Core】ASP.NET Core中Redis分布式缓存的应用

系列文章目录 链接: 【ASP.NET Core】REST与RESTful详解&#xff0c;从理论到实现 链接: 【ASP.NET Core】深入理解Controller的工作机制 链接: 【ASP.NET Core】内存缓存&#xff08;MemoryCache&#xff09;原理、应用及常见问题解析 文章目录系列文章目录前言一、Redis1.1 …

5.6 指令流水线 (答案见原书 P267)

5.6 指令流水线 (答案见原书 P267) 01. 下列关于流水CPU基本概念的描述中&#xff0c;正确的是&#xff08; D &#xff09;。 题目原文 下列关于流水CPU基本概念的描述中&#xff0c;正确的是&#xff08; &#xff09;。 A. 流水CPU是以空间并行性为原理构造的处理器 B. 流水…

NIO简单介绍和运用

NIO简单介 NIO 非阻塞IO模型&#xff0c;基于缓冲区(Buffer)读写数据&#xff0c;读写后的数据通过通道(Channel)进行传输&#xff0c;采用选择器(Selector)管理多个通道从而实现高并发。 核心组件&#xff1a;1. Buffer 为一个内存数组作为数据容器&#xff0c;代替传统的Inpu…

LeetCode 658.找到K个最接近的元素

给定一个 排序好 的数组 arr &#xff0c;两个整数 k 和 x &#xff0c;从数组中找到最靠近 x&#xff08;两数之差最小&#xff09;的 k 个数。返回的结果必须要是按升序排好的。 整数 a 比整数 b 更接近 x 需要满足&#xff1a; |a - x| < |b - x| 或者 |a - x| |b - x| …

制作一款打飞机游戏83:炸弹机制

游戏中的炸弹系统&#xff0c;包括以下核心功能&#xff1a;炸弹爆炸效果与动画实现炸弹伤害范围判定机制子弹转化为能量道具的系统炸弹使用时的无敌帧处理各种边界情况的修复与优化技术实现细节1. 炸弹基础系统‌炸弹动画状态机‌&#xff1a; 我们采用三阶段状态机控制炸弹效…

Linux CentOS 虚拟机升级内核至4.x以上版本

1、安装组件 yum install -y wget && yum install -y net-tools yum groupinstall “Development Tools” yum install ncurses-devel bc openssl-devel elfutils-libelf-devel yum install -y ncurses-devel yum install -y elfutils-libelf-devel yum install -y ope…

QT跨平台应用程序开发框架(11)—— Qt系统相关

目录 一&#xff0c;事件 1.1 关于事件 1.2 处理事件 1.3 处理鼠标事件 1.3.1 点击事件 1.3.2 释放事件 1.3.3 双击事件 1.3.4 滚轮事件 1.3.5 注意事项 1.4 处理键盘事件 1.5 定时器事件 1.6 窗口移动和大小改变事件 二&#xff0c;文件操作 2.1 文件操作概述 2.2 QFile 介绍…

sqli-labs通关笔记-第11关 POST字符型注入(单引号闭合 手工注入+脚本注入两种方法)

目录 一、字符型注入 二、limit函数 三、GET方法与POST方法 四、源码分析 1、代码审计 2、SQL注入安全分析 五、渗透实战 1、进入靶场 2、注入点分析 &#xff08;1&#xff09;SQL语句 &#xff08;2&#xff09;万能密码登录 3、手工注入 &#xff08;1&#xf…

网络安全基础作业三

回顾web前端的代码<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用户登录</title><st…

基于单片机的温湿度报警系统设计与实现

摘 要 本项研究对温湿度警报系统的需求进行了详尽分析&#xff0c;并成功研制出一套以单片机为技术核心的温湿度警报系统。该系统由硬件搭建和软件编程两大模块构成。在硬件搭建方面&#xff0c;系统整合了STM32主控芯片、DS18B20温度传感器、湿敏电阻、按键组件、OLED显示屏、…

(八)复习(拆分微服务)

文章目录项目地址一、Ticketing模块拆分1.1 创建web api1. 添加引用2. 添加需要的包和配置3. program.cs4. docker-compose修改项目地址 教程作者&#xff1a;教程地址&#xff1a; 代码仓库地址&#xff1a; 所用到的框架和插件&#xff1a; dbt airflow一、Ticketing模块拆…

DearMom以“新生儿安全系统”重塑婴儿车价值,揽获CBME双项大奖

7月16日&#xff0c;在刚刚开幕的2025 CBME中国孕婴童展上&#xff0c;备受瞩目的CBME中国孕婴童产业奖正式揭晓。深耕婴儿车品类的专业品牌DearMom&#xff0c;凭借其卓越的创新实力与对新生儿安全出行的深刻洞察&#xff0c;一举摘得重量级奖项——“杰出品牌创新奖”。同时&…

瀚高数据库开启Oracle兼容模块

文章目录环境症状问题原因解决方案环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;4.5 症状 不能使用Oracle兼容&#xff1b; 问题原因 在瀚高数据库V45中oracle兼容模块需要单独开启默认是关闭状态。 解决方案 使用sysdba执行修改…

final修饰符不可变的底层

final修饰符的底层原理在 Java 中&#xff0c;final 修饰符的底层实现涉及 编译器优化 和 JVM 字节码层面的约束其核心目标是保证被修饰元素的【不可变性】或 【不可重写 / 继承性】一、final 修饰类&#xff1a;禁止继承的底层约束当一个类被 final 修饰时&#xff0c;例如 St…

如何排查服务器 CPU 飙高

服务器 CPU 飙高&#xff08;CPU 使用率持续超过 80% 甚至接近 100%&#xff09;是典型的性能瓶颈问题&#xff0c;可能由应用逻辑缺陷、资源竞争、外部压力或硬件/系统异常引起。以下是系统化的排查步骤&#xff0c;覆盖从现象确认到根因定位的全流程。​一、确认 CPU 飙高的现…

【DataWhale】快乐学习大模型 | 202507,Task05笔记

前言 今天是Transformer的编码实战阶段&#xff0c;照着示例代码执行一遍吧 embedding self.tok_embeddings nn.Embedding(args.vocab_size, args.dim)把token向量转为embedding矩阵&#xff08;一个token一个embedding向量&#xff09; 位置编码 为了解决“我喜欢你”和…

用ffmpeg 进行视频的拼接

author: hjjdebug date: 2025年 07月 22日 星期二 17:06:02 CST descrip: 用ffmpeg 进行视频的拼接 文章目录1. 指定协议为concat 方式.1.1 协议为concat 模式,会调用 concat_open 函数1.2 当读数据时,会调用concat_read2. 指定file_format 为 concat 方式2.1 调用concat_read_…

HTTP与HTTPS技术细节及TLS密钥交换与证书校验全流程

HTTP与HTTPS技术细节及TLS密钥交换与证书校验全流程 引言 文档目的与范围 核心技术栈概述 本文档的核心技术栈围绕传输层安全协议&#xff08;TLS&#xff09;展开。TLS协议作为安全套接字层&#xff08;SSL&#xff09;的后继标准&#xff0c;是现代网络安全通信的基础&am…