Vue 学习随笔系列九 -- 表格中插入图片、背景、自定义表头

表格中插入图片和icon

文章目录

  • 表格中插入图片和icon
  • 一、如何插入图片
      • 1、代码
      • 2、效果
  • 二、文字添加背景
      • 1、代码
      • 2、效果
    • 三、表头悬浮提示语
    • 四、表头添加图标

一、如何插入图片

1、代码

<template><div><el-tablesize="small"borderv-loading="loading":data="tableData"@selection-change="select"><el-table-columntype="selection"width="55"></el-table-column><el-table-columnv-for="(item, index) in tableHead":key="index"v-bind="item"align="center":min-width="getMinWidth(item)"> <template slot-scope="scope"><span v-if="item.prop==='status'"><el-image :src="formatStatus(scope.row[item.prop]).img"></el-image><span :style="formatStatus(scope.row[item.prop]).style">{{ scope.row[item.prop] }}</span></span><span v-else>{{ scope.row[item.prop] }}</span></template></el-table-column> <el-table-columnlabel="操作"fixed="right"align="center"width="160"><template slot-scope="scope"><spantype="primary"size="mini"class="operate-btn"plain@click="emitEvent({eventName:'detail', params: scope.row})">详情</span><spantype="primary"size="mini"class="operate-btn"v-show="scope.row.status === '运行'"plain@click="emitEvent({eventName:'executeOrStop', params: [{row: scope.row, mod: 'stop'}] })">停止</span><spantype="primary"size="mini"class="operate-btn"v-show="scope.row.status === '关闭' || scope.row.status === '完成'"plain@click="emitEvent({eventName:'executeOrStop', params: [{row: scope.row, mod: 'start'}] })">执行</span></template></el-table-column></el-table></div>
</template><script>export default {props: {tableData: {type: Array,default: () => []},head: {type: Array,default: () => []}},data() {return {loading: true,columns: [],total: 0,pageNum: 1,pageSize: 10, pageSizes: [10, 20, 50, 100],}},computed: {getMinWidth () {return itemColumn => {const len = itemColumn.label.toString().lengthreturn `${len * 25}px`}},tableHead(){let data = this.head// 根据index值对表头进行排序data.sort((a, b) => {return a.index - b.index})this.loading = falselet columns = data.map( v=> {return {prop: v.prop,label: v.label}})return columns},formatStatus () {const formatMap = {'关闭': {img: require('../../../../assets/icon/stop.png'),style: { 'color': 'red' }},'运行': {img: require('../../../../assets/icon/run.png'),style: { 'color': '#086BFF' }},'完成': {img: require('../../../../assets/icon/complete.png'),style: { color: '#29CC51' }},'等待中': {img: require('../../../../assets/icon/wait.png'),style: { color: '#333333' }}}return status => {return formatMap[status]}}}, methods: {// 分页handleSizeChange (val) {this.pageSize = valthis.query()},// 当前页handleCurrentChange (val) {this.pageNum = valthis.query()},// 触发查询emitEvent ({eventName, params}) {this.$emit(eventName, params)},// 选中select(val) {this.$emit('handleSelectionChange', val)}}}</script><style lang="less" scoped>.operate-btn {color: #4597eb;cursor: pointer;margin-right: 10px;font-size: 12px;}.el-image {vertical-align: middle;margin-right: 5px;}.status-box {line-height: 23px;display: inline-block;}
</style>

2、效果

在这里插入图片描述

二、文字添加背景

1、代码

<template><el-tableborderstripesize="small":data="tableData"@selection-change="select"><el-table-columntype="selection"align="center"width="55"></el-table-column><el-table-columnlabel="序号"type="index"align="center"width="55"></el-table-column><el-table-columnv-for="(item, index) in columns":key="index"v-bind="item"align="center":min-width="getMinWidth()"><template slot-scope="scope"><span v-if="item.prop==='status'"><el-tag :style="formatStatus(scope.row[item.prop]).style">{{ scope.row[item.prop] }}</el-tag></span><span v-else>{{ scope.row[item.prop] }}</span></template></el-table-column></el-table>
</template><script>export default {props: ['tableData'],data () {return {columns: [{prop: 'xxx',label: 'xxx','show-overflow-tooltip': true},{prop: 'xxx',label: 'xxx','show-overflow-tooltip': true},{prop: 'status',label: '状态','show-overflow-tooltip': true},{prop: 'xxx',label: 'xxx','show-overflow-tooltip': true},{prop: 'draftStatus',label: '拟稿状态','show-overflow-tooltip': true},{prop: 'message',label: '提示信息','show-overflow-tooltip': true},{prop: 'draftTime',label: '拟稿时间','show-overflow-tooltip': true},]}},computed: {getMinWidth () {return itemColumns => {const len = itemColumns.label.toString().lengthreturn `${len * 25}px`}},formatStatus () {const formatMap = {'失败': {style: { 'color': '#FF6767' ,'border-radius': "15px", 'background-color': '#FFD3D3', 'border': '1px solid transparent'},},'成功': {style: { 'color': '#71D18C' ,'border-radius': "15px", 'background-color': '#95F3B0', 'border': '1px solid transparent'},}}return status => {return formatMap[status]}}},methods: {// 选中select(val) {this.$emit('handleSelectionChange', val)},uploadItem(row){this.$emit('uploadItem', row)},overViewItem(row){this.$emit('overViewItem', row)}}
}</script><style lang="scss" scoped>.el-button {margin-left: 0px;}.operate-text {color: #4C68EF;cursor: pointer;}</style>

2、效果

在这里插入图片描述

三、表头悬浮提示语

 <el-table-columnv-for="(item, index) in tableHeadTemp":key="index"v-bind="item"align="center":min-width="getMinWidth(item)"><template slot="header"><el-tooltip class="item" effect="light" :content="item.label" placement="top-start"><span>{{ item.label }}</span></el-tooltip></template></el-table-column><el-table-columnv-for="(item, index) in tableHeadTemp":key="index"v-bind="item"align="center":min-width="getMinWidth(item)"><template slot="header"><span>{{ item.label }}<el-tooltip class="item" effect="dark" content="双击添加SKU" placement="top-start"><i class="el-icon-question" style="color:#606266;" /></el-tooltip></span></template></el-table-column>

四、表头添加图标

效果:
在这里插入图片描述

<template><el-tableborderstripesize="small"ref="myTable":data="tableData"@selection-change="handleSelectionChange"><el-table-columntype="selection"width="55"></el-table-column><!-- <el-table-columntype="index"label="序号"width="55"></el-table-column> --><el-table-columnv-for="(item, index) in tableColumns":key="index"v-bind="item"align="center":min-width="getMinWidth(item)"> <template slot="header"><div v-if="item.prop==='pwd'" class="pwd-box"><span >{{ '密码' }}</span><img src="@/assets/static/pwd-show.png" alt="" @click="pwdShowOrHide('0')"></div></template><template slot-scope="scope"><div ><span v-if="item.prop==='pwd'">{{ '********' }}</span><span v-else>{{ scope.row[item.prop] }}</span></div></template></el-table-column><el-table-columnlabel="操作"fixed="right"width="180px"align="center"v-if="isShowEdit"><!-- <template #default="scope"> --><template slot-scope="{ $index }"><span class="update-btn" size="small" @click="handleClick($event, $index, 'editItem')">编辑</span><span class="update-btn" size="small" @click="handleClick($event, $index, 'delItem')" >删除 </span></el-table-column></el-table>
</template><script>
export default {props:{tableData: {},tableColumns: {},},computed: {getMinWidth () {return itemColumns => {const len = itemColumns.label.toString().lengthreturn `${len * 25}px`}},},data () {return {isShowPwd: false,}},methods: {handleSelectionChange(val){this.$emit('handleSelectionChange', val)},pwdShowOrHide(val) {this.$emit('pwdShowOrHide', val)},}
}</script><style lang="scss" scoped>.pwd-box {display: flex;align-items: center;justify-content: center;}</style>

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

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

相关文章

K8S部署Harbor镜像仓库(含离线安装包harbor-offline-installer国内下载链接)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

互联网摸鱼日报(2024-02-05)

互联网摸鱼日报(2024-02-05) 博客园新闻 巨人网络大模型GiantGPT完成备案 有传闻称京东紧急制定主播招聘计划 不考核GMV和毛利等 实测百度文心一言APP生成“专属数字分身”免费功能 小米要退出印度笔记本市场&#xff1f;产品均售罄、官网导航条移除相关栏目 高德、百度地…

面向智算服务,构建可观测体系最佳实践

作者&#xff1a;蓟北 构建面向 AI、大数据、容器的可观测体系 &#xff08;一&#xff09;智算服务可观测概况 对于越来越火爆的人工智能领域来说&#xff0c;MLOps 是解决这一领域的系统工程&#xff0c;它结合了所有与机器学习相关的任务和流程&#xff0c;从数据管理、建…

Qt程序设计-读写CSV文件

本文实例演示Qt读写CSV文件实现 创建项目 添加两个按钮和一个显示路径的label 界面如下 UI界面 <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"><class>MainWindow</class><widget class="QM…

[BUUCTF]-PWN:[极客大挑战 2019]Not Bad解析

保护 ida 这里使用mmap函数创造了一个内存映射区域 从地址0x123000开始&#xff0c;大小位0x1000 权限为可写可执行&#xff08;可读0x1&#xff0c;可写0x2&#xff0c;可执行0x3&#xff09; 设置为私有映射&#xff08;MAP_PRIVATE&#xff09;和匿名映射&#xff08;MAP…

【buuctf--被偷走的文件】

将 ftp 流量过滤下来&#xff0c;追踪 ftp 流量&#xff0c;得到下图 先解释一下这四行什么意思&#xff1a; PASV&#xff1a; 这是FTP的命令&#xff0c;用于告知服务器在数据连接中使用被动模式&#xff08;Passive Mode&#xff09;。在被动模式下&#xff0c;数据连接的…

Java Stram 流对于返回对象的处理 (结束流)

Java Stram 流对于返回对象的处理 &#xff08;结束流&#xff09; package com.zhong.streamdemo.showdownstreamdemo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.util.*; import java.util.stream.Collectors; im…

【golang】24、go get 和 go mod:indrect 与 go mod tidy

文章目录 go get 会执行如下操作&#xff1a; 操作 go.mod 文件&#xff08;add、update、remove&#xff09;下载依赖到 $GOPATH/pkg/mod 中若已安装&#xff0c;则更新该包&#xff0c;到最新版本 试验前置准备&#xff1a;首先删除已下载的依赖&#xff0c;rm -rf $GOPATH…

MySQL篇----第十四篇

系列文章目录 文章目录 系列文章目录前言一、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?二、锁的优化策略三、索引的底层实现原理和优化四、什么情况下设置了索引但无法使用前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽…

OpenId、UnionId

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1. OpenId1.1 概念1.2 公众号OpenId&#xff08;简称 wxopenid&#xff09;同一个微信用户在小程序和公众号上的openid是不同的 1.3 openid的获取方式方式1. 调用wx…

图片视频上传压缩的考察

本文仅做上传 / 纯客户端压缩功能的调研 上传 能否在上传时就限制图片的张数&#xff1f;移动端不能使图库变成禁止状态&#xff0c;用户点击完成之后才能进行校验。 能否限制上传的文件格式&#xff1f;可以限制&#xff0c;PC端能够完美限制&#xff0c;移动端只能部分限制…

《Docker极简教程》--Docker环境的搭建--在Linux上搭建Docker环境

更新系统&#xff1a;首先确保所有的包管理器都是最新的。对于基于Debian的系统&#xff08;如Ubuntu&#xff09;&#xff0c;可以使用以下命令&#xff1a;sudo apt-get update sudo apt-get upgrade安装必要的依赖项&#xff1a;安装一些必要的工具&#xff0c;比如ca-certi…

Visual Studio 2022中创建的C++项目无法使用万能头<bits/stdc++.h>解决方案

目录 发现问题 解决办法 第一步 第二步 第三步 第四步 最后一步 问题解决 发现问题 如果大家也遇到下面这种问题&#xff0c;可能是没有include文件夹中没有bits/stdc.h 解决办法 第一步 打开一个C项目&#xff0c;鼠标移动至头文件上右击&#xff0c;选择转到文档或…

怎么能批量验证收件箱有效性

批量验证收件箱有效性是确保邮件营销活动成功送达目标受众的关键步骤。以下将介绍几种方法来实现这一目标。 首先&#xff0c;可以使用专业的邮件验证服务。这些服务通常提供API接口或批量上传功能&#xff0c;能够快速检查大量邮件地址的有效性。它们通过验证邮件地址的语法、…

能源管理师——为能源可持续发展护航

能源管理师是在能源管理领域具有专业知识和技能的专业人士&#xff0c;他们的工作对于实现能源的有效利用和可持续发展至关重要。 能源管理师的主要职责是协助企业或组织进行能源管理&#xff0c;包括能源规划、能源审计、节能措施的实施和能源绩效的评估等。他们通过对能源使…

Merging of neural networks

Merging of neural networks 论文链接&#xff1a;https://arxiv.org/pdf/2204.09973v2.pdf源码链接&#xff1a;https://github.com/fmfi-compbio/neural-network-merging 简介 典型的神经网络训练从随机初始化开始&#xff0c;并进行训练&#xff0c;直到在某些局部最优中…

Win32 SDK Gui编程系列之-- 读写初始化文件(INI文件)

读写初始化文件(INI文件) 1、初始化文件(INI文件) INI文件是一种结构简单的文本文件,是配置文件的事实标准。这种文件主要在Windows中使用,但也可在其他操作系统中使用。INI文件的名称来源于这种文件的扩展名“.INI”(initialization的缩写)。扩展名还包括configuration(…

YOLOv8改进 | 利用训练好权重文件计算YOLOv8的FPS、推理每张图片的平均时间(科研必备)

一、本文介绍 本文给大家带来的改进机制是利用我们训练好的权重文件计算FPS,同时打印每张图片所利用的平均时间,模型大小(以MB为单位),同时支持batch_size功能的选择,对于轻量化模型的读者来说,本文的内容对你一定有帮助,可以清晰帮你展示出模型速度性能的提升以及轻量…

Kubernetes 是什么?

介绍 Kubernetes 是一个强大的开源系统&#xff0c;最初由谷歌开发&#xff0c;并得到云原生计算基金会&#xff08;CNCF&#xff09;的支持&#xff0c;用于在集群环境中管理容器化应用程序。它旨在提供更好的方法来管理相关的、分布式的组件和服务&#xff0c;跨越各种基础设…

Sublime Text 3配置 Node.js 开发环境

《开发工具系列》 Sublime Text 3配置 Node.js 开发环境 一、引言二、主要内容2.1 初识 Sublime Text 32.2 初识 Node.js2.3 接入 Node.js2.3.1 下载并安装 Node.js2.3.2 环境变量配置 2.4 配置 Node.js 开发环境2.5 编写 Node.js 代码2.6 运行 Node.js 代码 三、总结 一、引言…