Ant Design Vue中的Table和Tag的基础应用

目录

一、Table表格

1.1、显示表格

1.2、列内容过长省略展示

1.3、完整分页

1.4、表头列颜色设置

二、Tag标签

2.1、根据条件显示不同颜色

2.2、控制关闭事件

一、Table表格

效果展示:

官网:Ant Design Vue

1.1、显示表格

    <a-tableref="table"size="middle":scroll="{ x: true }"borderedrowKey="recordId":columns="columns":dataSource="dataSource":pagination="pagination":loading="loading"@change="handleTableChange"class="j-table-force-nowrap"><!-- <span slot="num" slot-scope="text, record, index">{{ (pagination.current - 1) * pagination.pageSize + parseInt(index) + 1 }}</span> --><!-- 性别处理 --><span slot="sex" slot-scope="text"><a-tag :color="text == 2 ? 'red' : 'green'">{{ text == 2 ? '男' : '女' }}</a-tag></span><!-- 时长处理 --><span slot="duration" slot-scope="text">{{ text == '0' ? '-' : text }}</span><!-- 图片列表 --><template slot="imgSlot" slot-scope="text"><div class="img-list"><imgv-for="(item, index) in displayedValues(text)":key="index"@click="handlePreview(item, index, text)":src="avatarSrc(item)"height="30px"style="width: 30px; margin-right: 8px"/><a-icontype="caret-down"style="font-size: 34px; color: #3489f9"v-if="text.length > 3"@click="resourceList(text)"/></div></template><!-- 视频列表 --><template slot="videoSlot" slot-scope="text"><span v-if="text && text.length == 0" style="font-size: 12px; font-style: italic">无视频</span><div class="img-list" v-else><divstyle="position: relative; width: 30px; height: 30px; margin-right: 8px"v-for="(item, index) in displayedValues(text)":key="index"><video:src="avatarSrc(item)"controlsheight="30px"style="width: 100%; height: 100%; position: absolute; top: 0; left: 0"></video><divstyle="position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer"@click="handlePreview(item, index, text)"></div></div><a-icontype="caret-down"style="font-size: 34px; color: #3489f9"v-if="text.length > 3"@click="resourceList(text)"/></div></template><!-- 状态处理 --><span slot="rejectStatus"><span style="color: red">已驳回</span></span><!-- 表格操作--><span slot="action" slot-scope="text, record"><a @click="rejectedConfirmation(record)">驳回</a></span></a-table>

1.2、列内容过长省略展示

<script>data() {return {// 表头columns: [{title: '序号',dataIndex: '',key: 'rowIndex',width: 60,align: 'center',customRender: function (t, r, index) {return parseInt(index) + 1},},{title: '学生姓名',align: 'center',dataIndex: 'studentName',},{title: '所属小组',align: 'center',dataIndex: 'groupNo',},{title: '性别',align: 'center',dataIndex: 'sex',key: 'sex',scopedSlots: { customRender: 'sex' },},{title: '锻炼时间',align: 'center',dataIndex: 'exerciseTime',},{title: '文字说明',align: 'center',dataIndex: 'remark',// 将样式作用于td里面的span里,否则样式不生效customRender: (text, record) => (<a-tooltip placement="bottomRight" title={record.remark}><spanstyle={{display: 'inline-block',width: '160px',overflow: 'hidden',whiteSpace: 'nowrap',textOverflow: 'ellipsis',cursor: 'pointer',}}>{record.remark == '' ? '-' : record.remark}</span></a-tooltip>),},{title: '锻炼时长',align: 'center',dataIndex: 'duration',scopedSlots: { customRender: 'duration' },},{title: '图片',align: 'center',dataIndex: 'imgList',scopedSlots: { customRender: 'imgSlot' },},{title: '视频',align: 'center',dataIndex: 'videoList',scopedSlots: { customRender: 'videoSlot' },},{title: '提交时间',align: 'center',dataIndex: 'commitTime',},{title: '状态',dataIndex: 'rejectStatus',align: 'center',scopedSlots: { customRender: 'rejectStatus' },},],dataSource: [],loading: false,}},
</script>

(1)、数据说明:columns数组是对表头以及每列对应值的设置,前提是你已获得了数据源dataSource,一般从请求里获取,根据数组里对象的“属性名”去依次设置columns;

(2)、处理列内容:就可以使用scopedSlots: { customRender: '属性名' };在视图里通过slot="属性名" slot-scope="text"就可以操作你要的样式,见上方的“性别”、“图片”、“视频”列;

(3)、超出隐藏,划过全显:在列内容的customRender函数里操作record,将样式作用于td里面的span里,否则样式不生效;

1.3、完整分页

<script>data() {return {pagination: {size: 'large',current: 1,pageSize: 10,total: 0,pageSizeOptions: ['10', '20', '30', '40'], //可选的页面显示条数showTotal: (total, range) => {return range[0] + '-' + range[1] + ' 共' + total + '条'}, //展示每页第几条至第几条和总数hideOnSinglePage: false, // 只有一页时是否隐藏分页器showQuickJumper: true, //是否可以快速跳转至某页showSizeChanger: true, //是否可以改变pageSize// onChange: (current, pageSize) => {//   this.pagination.current = current//   this.pagination.pageSize = pageSize//   this.getRejectRecord()// }, //页数改变// showSizeChange: (current, pageSize) => {//   this.pagination.current = current//   this.pagination.pageSize = pageSize//   this.getRejectRecord()// }, //页码改变},}},methods:{//表格改变时触发handleTableChange(pagination, filters, sorter) {this.pagination = paginationthis.getRejectRecord();//获取表格数据},getRejectRecord() {var that = thisconst { current, pageSize } = that.paginationconst params = {pageNo: current,pageSize: pageSize,}that.loading = truepostAction(that.url.list, params).then((res) => {if (res.success) {that.dataSource = res.result.records || res.resultif (res.result.total) {that.pagination.total = res.result.total} else {that.pagination.total = 0}that.loading = false} else {that.$message.warning(res.message)}})},
}
</script>

1.4、表头列颜色设置

        {title: '该列字体是黄色',align: 'center',dataIndex: 'freeExercise',className:'manually',//自定义},
/deep/ .manually{color: #eca712 !important;
}

二、Tag标签

<div class="team-collections"><!-- 小组集合--><a-tagclosableclass="group-items"v-for="(item, index) in groupLists":key="index":color="activationIndex == index ? '#3388F9' : ''"@close.prevent="preventDefault(item)"@click="clickGroup(index)">{{ `第${item.groupNo}组` }}</a-tag>
<a-button type="primary" @click="addGroups" icon="plus" v-if="groupLists.length > 0">添加小组</a-button>
</div>
<script>data() {return {groupLists: [],activationIndex: 0,}},methods:{//点击切换小组clickGroup(i) {this.activationIndex = i},// 删除小组preventDefault(item) {if (this.tableList.length == 0) {deleteAction(this.url.deleteGroup, { id: item.id }).then((res) => {if (res.success) {this.$message.success('删除成功!')} else {this.$message.error(res.message)}})} else {this.$message.warning('该小组已经有学生选择了,不可删除!');//通过修饰符.prevent阻止close事件被触发}},
}
</script>

2.1、根据条件显示不同颜色

举个例子:

:color="activationIndex == index ? '#3388F9' : ''"
:color="text == 2 ? 'red' : 'green'"

2.2、控制关闭事件

点击X删除该小组(tag),如果满足条件就删除,否则就触发删除事件,在这里就通过修饰符.prevent阻止close事件被触发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/859866.shtml

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

相关文章

k8s集群搭建及对一些组件的简单理解

背景 k8s的学习环境&#xff08;用kubeadm方式搭建&#xff09;&#xff0c;我也搭过几次了&#xff0c;但都有点问题。 要么在云服务器上弄&#xff0c;这个的问题是就只有一台轻量服务器&#xff0c;只能搭个单节点的&#xff1b;后来买了一台便宜的&#xff0c;所以就有了两…

MIT6.s081 2021 Lab Utilities

Boot xv6 按照示例切换到 util 分支后&#xff0c;看到目录下包含 Makefile 文件&#xff0c;执行 make qemu 即可。 sleep 思路 借助系统调用 sleep 实现一个命令行程序&#xff0c;关键是要找到封装了系统调用的 C 函数的位置&#xff0c;根据提示&#xff1a; … user/u…

【LLM】GLM系列模型要点

note 文章目录 noteGLM一、数据层面1. 预训练数据 二、GLM4模型层面三、GLM-4 All Tools四、GLM的其他技术Reference GLM Paper&#xff1a;https://arxiv.org/abs/2406.12793 GitHub&#xff1a;https://github.com/THUDM HF&#xff1a;https://huggingface.co/THUDM 经过…

将独立的 Python 网络应用程序分发给非技术用户

1. 问题背景 我们需要编写一个 Python 网络应用程序&#xff0c;供教师和学生在课堂上使用。该应用程序将在托管的网站上运行&#xff0c;但我们也希望用户能够下载一个自包含的应用程序&#xff0c;以便他们可以在本地安装&#xff0c;以获得更好的性能或他们根本无法在教室中…

【Solr 学习笔记】Solr 源码启动教程

Solr 源码启动教程 本教程记录了如何通过 IDEA 启动并调试 Solr 源码&#xff0c;从 Solr9 开始 Solr 项目已由 ant 方式改成了 gradle 构建方式&#xff0c;本教程将以 Solr 9 为例进行演示&#xff0c;IDE 选择使用 IntelliJ IDEA。 Solr github 地址&#xff1a;https://gi…

对比A100和4090:两者的区别以及适用点

自2022年年末英伟达发布4090芯片以来&#xff0c;这款产品凭借着其优异的性能迅速在科技界占据了一席之地。现如今&#xff0c;不论是在游戏体验、内容创作能力方面还是模型精度提升方面&#xff0c;4090都是一个绕不过去的名字。而A100作为早些发布的产品&#xff0c;其优异的…

盘点5款最热门的AI绘画软件!总有一款是你的菜

在数字化艺术日益盛行的今天&#xff0c;AI绘画软件成为了创作者们的新宠。这些软件不仅能够帮助艺术家们快速生成独特的艺术作品&#xff0c;还能为普通用户带来全新的绘画体验。今天&#xff0c;我们就来盘点五款最热门的AI绘画软件&#xff0c;看看哪一款是你的菜&#xff0…

Kubernates容器化JVM调优笔记(内存篇)

Kubernates容器化JVM调优笔记&#xff08;内存篇&#xff09; 先说结论背景思路方案 先说结论 1、首先如果是JDK8&#xff0c;需要使用JDK8_191版本以上&#xff0c;才支持容器化环境和以下参数&#xff0c;否则就更新到JDK10以上&#xff0c;选择对应的镜像构建就行了 2、在容…

Python使用策略模式绘制图片分析多组数据

趋势分析&#xff1a;折线图静态比较&#xff1a;条形图分布分析&#xff1a;箱线图离散情况&#xff1a;散点图 import matplotlib.pylab as plt from abc import ABC, abstractmethod import seaborn as sns import pandas as pd import plotly.graph_objects as go import p…

03 Shell编程之循环语句与函数

目录 3.1 for 循环语句 3.1.1 for 语句的结构 3.1.2 for 语句应用示例 1. 根据姓名列表批量添加用户 2. 根据IP地址列表检查主机状态 3.2 使用while循环语句 3.2.1 while语句的结构 3.2.2 while语句应用示例 1. 批量添加规律编号的用户 2. 猜价格游戏 3.3 until 循环语句 3.…

aws的eks(k8s)ingress+elb部署实践

eks&#xff08;k8s&#xff09;版本1.29 ingress 版本1.10.0 负载均衡elb 1. 创建Ingress-Nginx服务 部署项目地址【点我跳转】推荐自定义部署 可绑定acm证书什么的自己属性 这里就是aws上面Certificate Manager产品上面创建证书 导入 创建都行 对应集群版本推荐阵列GitH…

Arc2Face - 一张图生成逼真的多风格人脸,本地一键整合包下载

Arc2Face是用于人脸的基础模型训练&#xff0c;可批量生成超高质量主题的AI人脸艺术风格照&#xff0c;完美复制人脸。只需一张照片&#xff0c;几秒钟&#xff0c;即可批量生成超高质量主题的AI人脸艺术风格照&#xff0c;完美复制人脸。 Arc2Face 是一个创新的开源项目&…

测评:【ONLYOFFICE】版本更迭与AI加持下的最新ONLYOFFICE桌面编辑器8.1

你是否还在为没有一款合适的在线桌面编辑器而苦恼&#xff1f;你是否还在因为办公软件的选择过少而只能使用WPS或者office&#xff1f;随着办公需求的不断变化和发展&#xff0c;办公软件也在不断更新和改进。ONLYOFFICE 作为一款全功能办公软件&#xff0c;一直致力于为用户提…

WordPress如何删除前端评论中的网址字段?

前面跟大家分享的『WordPress插件Comment Link Remove and Other Comment Tools&#xff0c;删除评论网址字段』一文&#xff0c;通过安装插件可轻松删除前端评论中的网址字段&#xff0c;不过有些站长不喜欢安装插件&#xff0c;那么是否可以通过纯代码去掉网址字段呢&#xf…

车辆检测之图像识别

1. 导入资源包 import torch.nn as nn import tkinter as tk from tkinter import filedialog, messagebox from PIL import Image, ImageTk,ImageDraw,ImageFont import torch from torchvision import transforms, models from efficientnet_pytorch import EfficientNet im…

微信QQ视频裂变加群推广强制分享引流系统

用户在达到一定观看次数后&#xff0c;需要分享给好友或群组。只有好友点击推广链接后&#xff0c;观看次数才会增加。 通过引导用户分享至QQ和微信&#xff0c;实现快速裂变引流的效果&#xff01; 视频裂变推广程序通过强制分享链接&#xff0c;引导用户转发&#xff0c;从…

代理IP知识:导致代理IP访问超时的原因有哪些?

很多用户在使用代理IP进行网络访问时&#xff0c;可能会遇到代理IP超时的情况&#xff0c;也就是代理IP的延迟过高。代理IP延迟过高会影响用户的网络体验和数据获取效率。因此&#xff0c;了解代理IP延迟过高的原因很重要。以下是导致代理IP延迟过高的一些常见原因&#xff1a;…

怎么使用RSI指标分析现货黄金行情走势?

拿到一波现货黄金行情走势&#xff0c;如何着手对其进行分析呢&#xff1f;投资者只要在网络上搜索一下&#xff0c;保管能够找到各种各样的答案&#xff0c;而本文要讨论的就是其中一种&#xff0c;我们借助RSI指标进行分析。 RSI就是相对强弱指标的简称&#xff0c;这是市场中…

炎炎夏日,矿物质水为你防暑补水

炎炎夏日&#xff0c;整座城市如同一个巨大的“烤箱” 人们行走在炙热烈阳中 汗如雨下&#xff0c;口干舌燥 在这样的高温天气中 中暑的风险也随之增加 烈日当头的夏天 该如何预防中暑呢&#xff1f; 或许答案藏在一杯矿物质水中 为什么矿物质水能够预防中暑&#xff1f;…

编译xlnt开源库源码, 使用c++读写excel文件

编译xlnt开源库源码,在linux平台使用c读写excel文件 下载xnlt源码 官方网站https://tfussell.gitbooks.io/xlnt/content/ 下载地址https://github.com/tfussell/xlnt 下载libstudxml开源库源码 下载地址https://github.com/kamxgal/libstudxml 下载xnlt源码 官方网站https://…