当前位置: 首页 > news >正文

关于vue2+antd 信息发布后台不足的地方

有的写法可以cv

1.序号递增

{title: "序号",customRender: (text, record, index) => `${index + 1}`,align: "center",},

2.关于类型

  {title: "类型",dataIndex: "type",align: "center",customRender: function (t) {switch (Number.parseInt(t)) {case 0:return "区域";case 1:return "街道";}},},

3.关于  scopedSlots: 时间范围有效字段表格用法

  {title: "时间段",dataIndex: "playTimes",scopedSlots: { customRender: "playTimes" },align: "center",},
 <div slot="playTimes" slot-scope="{ record }">{{ record.startTime }}~{{ record.endTime }}</div>

4.关于删除

 {title: "操作",align: "center",scopedSlots: { customRender: "action" },width: 150,},
 <div slot="action" slot-scope="{ record }"><a-popconfirmtitle="删除会将同一区域的不同时间段数据一并删除,确认删除吗?"@confirm="() => deleteRecord(record)"><a :disabled="isDisabled">删除</a></a-popconfirm></div>

重点:a-popconfirm气泡框

5.关于字典

1.首先我先定义字段

 {title: "级别",align: "center",dataIndex: "level",scopedSlots: { customRender: "level" },},

2.其次我渲染字段

 <div slot="level" slot-scope="{ text }">{{ text | textList(dictionaryList) }}</div>

3.dictionaryList设置为空一开始初始化时候

 dictionaryList: [],

4.引入字典

import { getDictionary } from "@/api/index";

5.在@/api/index中获取统一框架数据字典列表 这是根据后端提供的api

//获取统一框架数据字典列表
export function getDictionary (type) {return request({// url: '/upms/dict/item/page',// url: '/upms/dict/item/' + id,url: '/upms/dict/type/' + type,method: 'get',// params: query})
}

6.获取字典

 getDictionary() {getDictionary("district_level").then((res) => {//dictionaryList上面定义过的 得到字典值this.dictionaryList = res.data.data;});},

7.看到步骤2那边时vue2的过滤器

  filters: {textList(val, list) {//这里看不懂的话可以打印下 val 和list 总的来说就是值相等返回代表的中文let mm = "";list.forEach((item) => {if (item.value == val) {mm = item.label;}});return mm;},},

6.关于动态的action,前面5种是虽然包含变换 但是还不够动态

我说的动态action举例:比如在这个状态下我的action只有应用和详情,在那个状态下 我的actionshiyou 停止和详情 ,通过record.status判断

 {key: "action",title: "操作",fixed: "right",align: "center",scopedSlots: { customRender: "action" },width: 200,},
      <div slot="action" slot-scope="{ record }"><a @click="showApplication(record)" v-if="record.status != 1">应用</a><a @click="showCease(record)" v-if="record.status == 1">停止</a><a-divider type="vertical" /><a style="margin-right: 8px" @click="viewRecord(record)"> 详情 </a><astyle="margin-right: 8px"@click="editRecord(record)"v-if="record.status != 1">编辑</a><a-popconfirmtitle="确定删除吗?"@confirm="() => deleteRecord(record.id)"v-if="record.status != 1"><a>删除</a></a-popconfirm></div>

7.表格枚举显示和字典有点相似,找不到字典就自己写枚举

1.在utils文件夹里的utils.js写代码

/*** 表格枚举显示*/
export function renderTypeName(typeArr,value
) {//备注:类型如果是数字的且为0时,!value为falseif (!typeArr.length || value === "") return "--";const currentArr = typeArr.filter(item => {return item.value === value;});if (!currentArr.length) return "--";return currentArr[0].text;
}

2.新建enumeration文件夹,命名payTypeEnum.js

export const BALANCE = 'BALANCE';
export const SYS_BALANCE = 'SYS_BALANCE';
export const  MONEY = ' MONEY';
export const POS = 'POS';
export const  BANK = ' BANK';
export const WECHAT_PAY = 'WECHAT_PAY';
export const ALI_PAY = 'ALI_PAY';export const payTypeEnumList = [{text: '钱包余额',value: BALANCE},{text: '系统赠送金额',value: SYS_BALANCE},{text: '现金',value: BALANCE},{text: 'POS刷卡',value: POS},{text: '银行转账',value: BANK},{text: '微信扫码',value: WECHAT_PAY},{text: '支付宝扫码',value: ALI_PAY},
] 

3.在需要的文件引入这两个代码

import { payTypeEnumList } from "@/enumeration/payTypeEnum.js";
import { renderTypeName } from "@/utils/util";

4.使用

  {key: "payType",title: "支付方式",dataIndex: "payType",align: "center",// scopedSlots: { customRender: "payType" },customRender(h) {return renderTypeName(payTypeEnumList, h);},},

以上就是我做vue2时碰到表格渲染出现的问题 

主要是字典,枚举和动态渲染action 

-------------------------------------------------------------------------------------------------------------------------------

相关文章:

关于vue2+antd 信息发布后台不足的地方

有的写法可以cv 1.序号递增 {title: "序号",customRender: (text, record, index) > ${index 1},align: "center",}, 2.关于类型 {title: "类型",dataIndex: "type",align: "center",customRender: function (t) {sw…...

Ubuntu+Anaconda 常用指令记录

Anaconda 使用指令记录 1 创建环境 conda create -n name pythonx.x(python版本自己指定)例如 conda create --name myenv: 创建名为"myenv"的新环境。 conda activate myenv: 激活名为"myenv"的环境。 conda deactivate: 退出当前环境。 2 删除环境 c…...

P5732 【深基5.习7】杨辉三角 python解法

# 【深基5.习7】杨辉三角 ## 题目描述 给出 n<20&#xff0c;输出杨辉三角的前 n 行。 如果你不知道什么是杨辉三角&#xff0c;可以观察样例找找规律。 ## 输入格式 ## 输出格式 ## 样例 #1 ### 样例输入 #1 6 ### 样例输出 #1 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5…...

VitePress-12-markdown中使用vue的语法

前言 VitePress 中&#xff0c;markdown文档最终都会转换成为 html文件&#xff0c;我们在访问的时候&#xff0c;也是直接访问的 xxx.html 文件。而且&#xff0c;markdown文档会被作为 [vue单文件] 进行处理&#xff0c;因此&#xff0c;我们我们可以在文档中使用 vue 语法&…...

“bound drug/molecule”or “unbound drug/molecule”、molecule shape、sketching是什么?

“bound drug/molecule”or “unbound drug/molecule” For clarity, the following terms will be used throughout this study: “bound drug/molecule” (or “unbound drug/molecule”) refers to the drug/molecule that is bound (or unbound) to proteins [48]. 意思就是…...

深入理解C语言中的函数指针:概念、机制及实战应用

在C语言的世界里&#xff0c;函数是一等公民&#xff0c;可以被赋值给变量&#xff0c;这种特殊的变量就是我们今天要探讨的主角——函数指针。函数指针作为C语言中一种强大的工具&#xff0c;允许我们以间接方式调用函数&#xff0c;从而实现动态绑定、回调函数、策略模式等多…...

《UE5_C++多人TPS完整教程》学习笔记1 ——《P2 关于本课程(About This Course)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P2 关于本课程&#xff08;About This Course&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译者&…...

权限系统设计

权限系统设计 RBAC 基于角色的访问控制 ABAC 基于属性的访问控制 普通的系统无非 CRUD&#xff0c;那系统如何控制一个用户该看到哪些数据、能操作哪些功能&#xff1f;日常开发中最常用到 RBAC 和 OAuth2 这两种访问控制和授权方案 RBAC 基于角色的访问控制 所有的访问控制模…...

Ubuntu Desktop - Screenshot (截图工具)

Ubuntu Desktop - Screenshot [截图工具] 1. Search your computer -> Screenshot -> Lock to Launcher2. gnome-screenshot3. System Settings -> Keyboard -> ShortcutsReferences 1. Search your computer -> Screenshot -> Lock to Launcher 2. gnome-s…...

docker 1:介绍

docker 1&#xff1a;介绍 docker解决哪些问题&#xff1a; 传统APP在安装到不同电脑的时候可能会遇到依赖问题&#xff0c;比如缺少VS 20xx&#xff0c;软件无法运行”的情况。docker使用容器技术将软件 依赖​打包为image包发布&#xff0c;解决了依赖问题。docker有一个官…...

RibbonBar RibbonPage切换事件

在开发的过程中&#xff0c;我们会用到点击切换page&#xff0c;来响应对应的事件&#xff0c;例如以下事件&#xff1a; 头文件中&#xff1a; void ribboncurrentPageIndexChanged(int index); 实现文件中&#xff1a; connect(ribbonBar(), SIGNAL(currentPageIndexChang…...

Conda历史版本下载地址和python对应关系

一、前言 因为Conda安装版本问题&#xff0c;带来了很多问题&#xff0c;虽然不能直接确定二者之间的关系&#xff0c;但是安装指定版本的conda,确实是一个比较好的方法。特此记忆。 二、下载地址 下载最新版本&#xff1a;Free Download | Anaconda 下载历史版本&#xff…...

Clickhouse查询语句执行过程

问题 简述clickhosue中一条select语句的执行过程&#xff0c;使用的引擎是ReplacingMergeTree。例如&#xff1a; select col1,col2 from table final prewhere col3 > ? and col4 ? and col5 ? -- col3为分区键&#xff0c;col4为二级索引,col5为主键字段 where col…...

【动态规划】【中位数】【C++算法】1478. 安排邮筒

# 作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 动态规划汇总 LeetCode1478. 安排邮筒 给你一个房屋数组houses 和一个整数 k &#xff0c;其中 houses[i] 是第 i 栋房子在一条街上的位置&#xff0c;现需要在这条街上安排 k…...

C#系列-数据结构+递归算法+排序算法(3)

C#数据结构 在C#中&#xff0c;数据结构是用于组织和管理数据的方式&#xff0c;以便更有效地进行数据的存储、访问和操作。数据结构对于算法的性能和设计至关重要&#xff0c;因为它们决定了数据如何在内存中布局以及如何与算法进行交互。C#提供了许多内置的数据结构&#xf…...

Redis实现秒杀

前期准备 缓存选择考虑 Redis和Redis Cluster&#xff08;分布式版本&#xff09;&#xff0c;是一个分布式缓存系统。其支持多种数据结构&#xff0c;也支持MQ。Redis在性能上做了大量优化。因此使用Redis或者Redis Cluster就可以轻松实现一个强大的秒杀系统。 用Redis的这…...

4 scala集合-Map

和 Java 一样&#xff0c;Scala 也有表示键值对&#xff08;Key-Value&#xff09;集合的 Map 数据结构。同样&#xff0c;Map 也分不可变和可变&#xff0c;不可变需要使用类 scala.collection.mutable.Map。 1 不可变 Map 可以使用以下语法定义不可变 Map 对象 val/var ma…...

QT 对象树模型

QObject是Qt里边绝大部分类的根类 QObject对象之间是以对象树的形式组织起来的。 当两个QObject&#xff08;或子类&#xff09;的对象建立了父子关系的时候。子对象就会加入到父对象的一个成员变量叫children&#xff08;孩子&#xff09;的list&#xff08;列表&#xff09;…...

ubuntu快速安装miniconda

ubuntu快速安装miniconda 环境 ubuntu.22.04 显卡 RTX 3050 关于选择Miniconda还是Anaconda的问题&#xff0c;Anaconda安装包比较大&#xff0c;耗时比较长&#xff0c;如果你是绝对的初学者&#xff0c;选择Anaconda会比较稳妥一些&#xff1b;否则建议你还是选择Miniconda安…...

阿里云游戏服务器多少钱一年?

阿里云游戏服务器租用价格表&#xff1a;4核16G服务器26元1个月、146元半年&#xff0c;游戏专业服务器8核32G配置90元一个月、271元3个月&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云游戏专用服务器详细配置和精准报价&#xff1a; 阿里云游戏服务器租用价格表 阿…...

SenseVoice-Small模型在运维监控中的语音告警应用

SenseVoice-Small模型在运维监控中的语音告警应用 1. 运维人员每天都在和告警“搏斗” 你有没有经历过这样的场景&#xff1a;凌晨三点&#xff0c;手机突然震动&#xff0c;一条告警短信跳出来——“数据库连接池使用率98%”。你立刻爬起来打开电脑&#xff0c;连上跳板机&a…...

ScanTailor Advanced终极指南:免费开源扫描文档处理完整解决方案

ScanTailor Advanced终极指南&#xff1a;免费开源扫描文档处理完整解决方案 【免费下载链接】scantailor-advanced ScanTailor Advanced is the version that merges the features of the ScanTailor Featured and ScanTailor Enhanced versions, brings new ones and fixes. …...

NEURAL MASK 模型调试技巧:使用IDE进行Python代码跟踪与问题定位

NEURAL MASK 模型调试技巧&#xff1a;使用IDE进行Python代码跟踪与问题定位 调试代码&#xff0c;尤其是涉及复杂模型加载和推理的代码&#xff0c;有时候就像在黑暗的房间里找一颗掉落的螺丝钉。你大概知道它就在那儿&#xff0c;但就是看不见摸不着。对于NEURAL MASK这类模…...

【Unity 贪吃蛇大作战模板】高并发IO游戏怎么做?拆解Snake Warz核心架构

Snake Warz IO 是一个基于 Photon Fusion v2 构建的多人在线贪吃蛇游戏完整模板。它不仅提供了可直接上线的游戏内容&#xff0c;还涵盖了完整的多人联机框架、AI系统、UI流程以及跨平台适配能力。该插件支持最多 10 名真实玩家与 30 个 AI 同场竞技&#xff0c;并提供多种游戏…...

ofa_image-caption实际项目:为AR眼镜提供实时本地图像语义理解能力

ofa_image-caption实际项目&#xff1a;为AR眼镜提供实时本地图像语义理解能力 1. 项目背景与价值 想象一下&#xff0c;当你戴着AR眼镜走在街上&#xff0c;看到一家咖啡馆的招牌&#xff0c;眼镜立即为你生成这段英文描述&#xff1a;"A modern coffee shop with larg…...

Huey终极指南:为什么这个轻量级Python任务队列成为开发者的首选?

Huey终极指南&#xff1a;为什么这个轻量级Python任务队列成为开发者的首选&#xff1f; 【免费下载链接】huey a little task queue for python 项目地址: https://gitcode.com/gh_mirrors/hu/huey 在Python开发世界中&#xff0c;高效处理异步任务和定时任务是提升应用…...

EF Core与SQLite实战:从零构建轻量级数据库应用

1. 为什么选择EF Core与SQLite这对黄金组合 如果你正在开发一个需要本地数据存储的移动应用或桌面小工具&#xff0c;SQLite绝对是你的首选数据库。这个只有几百KB的小家伙&#xff0c;不需要任何服务器配置&#xff0c;直接读写单个文件就能完成所有数据库操作。而EF Core作为…...

别再纠结了!手把手教你根据团队规模和技术栈选对存储方案(Ceph vs MinIO实战对比)

技术选型实战&#xff1a;Ceph与MinIO的团队适配决策框架 当技术负责人面对存储方案选型时&#xff0c;往往陷入"功能强大"与"简单易用"的两难抉择。我曾见证过一家50人规模的AI创业公司&#xff0c;因盲目选择Ceph导致三个月后不得不重构基础设施——他们…...

Windows下Java网络嗅探实战:jNetPcap配置与HTTP报文捕获详解

Windows下Java网络嗅探实战&#xff1a;jNetPcap配置与HTTP报文捕获详解 网络协议分析一直是开发者探索网络通信底层机制的重要途径。对于Java开发者而言&#xff0c;虽然标准库提供了丰富的网络编程接口&#xff0c;但涉及网络层及以下协议的操作却需要借助第三方库。本文将深…...

线性代数小白必看:孔祥仁网课笔记整理(附二阶到n阶行列式详解)

线性代数入门&#xff1a;从二阶行列式到n阶行列式的完整指南 第一次接触线性代数时&#xff0c;行列式这个概念就像一堵高墙挡在面前。记得我大一时&#xff0c;光是理解二阶行列式的几何意义就花了整整一周时间。直到后来遇到一位好老师&#xff0c;用简单的例子帮我打通了任…...