如何给el-table中某一列加指定内容和点击事件
背景:
小颖最近在写项目时遇到了要给 element-ui 中的 el-table 在 v-for el-table-column 标签时给某列加内容和点击事件,项目忙完了想着总结一下,下面一起来看下具体怎么实现吧
页面效果:

公共数据:
data() {
return {
tableData: [{
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄',
sex: '男'
}, {
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄',
sex: '男'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄',
sex: '男'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄',
sex: '男'
}, {
date: '2016-05-08',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄',
sex: '男'
}, {
date: '2016-05-06',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄',
sex: '男'
}, {
date: '2016-05-07',
name: '李晓梅',
address: '上海市普陀区金沙江路 158号',
sex: '女'
}],
}
},
公共点击事件:
methods: {
toDetail(row, column, event) {
console.log('点击地址啦');
}
}
公共CSS:
<style lang="scss">
.blue-font-color {
color: #409eff;
border-bottom: 1px solid #409eff;
cursor: default;
}
</style>
方法一:
使用 slot-scope + v-if + v-else
HTML:
<el-table :data="tableData" height="250" border style="width: 100%">
<el-table-column :prop="dt.prop" :label="dt.labelName" v-for="(dt,index) in colData"
:key="index">
<template slot-scope="scope">
<span v-if="dt.prop=='address'" class="blue-font-color" @click="toDetail(scope.row)">
{{ scope.row.address }}</span>
<span v-else>{{ scope.row[dt.prop] }}</span>
</template>
</el-table-column>
</el-table>
Javascript:
方法二:
使用 表格自带的 formatter + row-click事件
HTML:
<el-table :data="tableData" height="250" border style="width: 100%" @row-click="toDetail">
<el-table-column :prop="dt.prop" :label="dt.labelName" v-for="(dt,index) in colData"
:key="index" :formatter="dt.formatter">
</el-table-column>
</el-table>
Javascript:
data差异:
colData: [
{ prop: 'date', labelName: '日期' },
{ prop: 'name', labelName: '姓名' },
{
prop: 'address', labelName: '地址',
formatter: (row, column, cellValue, index) => {
return <span class='blue-font-color'>{cellValue}</span>
}
},
{ prop: 'sex', labelName: '性别' },
],
点击事件差异:
toDetail(row, column, event) {
if (column.property == "address") {
console.log('点击地址啦');
}
}
}
方法三:
使用 表格自带的 formatter
HTML:
<el-table :data="tableData" height="250" border style="width: 100%">
<el-table-column :prop="dt.prop" :label="dt.labelName" v-for="(dt,index) in colData"
:key="index" :formatter="dt.formatter">
</el-table-column>
</el-table>
Javascript:
data差异:(tableData 还要的哦,只是这里没写)
data() {
const that = this
return {
colData: [
{ prop: 'date', labelName: '日期' },
{ prop: 'name', labelName: '姓名' },
{
prop: 'address', labelName: '地址',
formatter: (row, column, cellValue, index) => {
return <span class='blue-font-color' onclick={that.toDetail.bind(null, row)}>{cellValue}</span>
}
},
{ prop: 'sex', labelName: '性别' },
]
}
},
点击事件就和上面 公共的点击事件方法 一样。
如何给el-table中某一列加指定内容和点击事件的更多相关文章
- JavaScript实现获取table中某一列的值
JavaScript实现获取table中某一列的值 1.实现源代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...
- JavaScript获取table中某一列的值的方法
1.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- 合并table中某一列相邻的相同的行
合并table中某一列相邻的相同的行1. [代码]合并table中某一列相邻的相同的行 <!DOCTYPE html><html> <head> ...
- excel 如何为列添加指定内容(字符串)
excel 如何为列添加指定内容(字符串) CreateTime--2018年5月26日17:52:32 Author:Marydon 1.情景展示 D列的值需要获取B列的值并且在后面统一加上12 ...
- 解决ListView中Item的子控件与Item点击事件冲突
常常会碰到在ListView中点击当中一个Item.会一并触发其子控件的点击事件.比如Item中的Button.ImageButton等.导致了点击Item中Button以外区域也会触发Button点 ...
- ListView中嵌入布局的Button或多个点击事件
有时候在ListView嵌入的布局中有多个事件需要点击,比如一个item中有TextView和Button两个布局,当我们需要获取这两个点击事件时,我们应该如何去获取呢,通常来说,我们都是已经固定好了 ...
- 关于页面中table中相同的列自动合并
代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- 给table中某一列的文字右对齐
一般来说,没写过jquery的前端人员,肯定是定义一个class,给每一行的那列加上align_r{text-align:right}.这是很麻烦的. 所以用jquery来写,可以$("ta ...
- HTML锁定Table中某一列
1. 2. 3. function ChangeTable() { var type = document.getElementById("ddl_ReportType").val ...
- OAF TABLE中添加序号列
在实际的OAF页面TABLE的使用中,会有很多时候需要在前台页面中显示序号,虽然在sql中可以使用rownum来获得序号,但是rounum的优先级比order by 高,所以在语句中order by ...
随机推荐
- [oracle]用户与权限管理
创建用户 CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 表空间 TEMPORARY TABLESPACE 临时表空间 QUOTA 空间配额大小 ...
- 基于C#的消息处理的应用程序 - 开源研究系列文章
今天讲讲基于C#里的基于消息处理的应用程序的一个例子. 我们知道,Windows操作系统的程序是基于消息处理的.也就是说,程序接收到消息代码定义,然后根据消息代码定义去处理对应的操作.前面有一个博文例 ...
- N1nEmAn-2023集训wp
week1 2022-12-28 WP 0x00 T1 reverse3 前几天没注意到要发wp,现在补一下.最近在学汇编,pwn题没做新的了.想到之前了解到hws的pwn会考花指令,听hjx他们说那 ...
- Unity 编辑器资源导入处理函数 OnPreprocessTexture:深入解析与实用案例
Unity 编辑器资源导入处理函数 OnPreprocessTexture 用法 点击封面跳转下载页面 简介 在Unity中,我们可以使用编辑器资源导入处理函数(OnPreprocessTexture ...
- 03.前后端分离中台框架 zhontai 项目代码生成器的使用
zhontai 项目 基于 .Net7.x + Vue 等技术的前后端分离后台权限管理系统,想你所想的开发理念,希望减少工作量,帮助大家实现快速开发 后端地址:https://github.com/z ...
- 推荐一款免费好用的远程桌面:Getscreen
因为平时有多台设备要用,所以远程桌面是我经常要使用的工具. 最近,正好看到一款不错的远程桌面软件,马上拿出来推荐给大家,如果有需要的可以看看. 今天要推荐的远程桌面软件就是这款叫Getscreen的软 ...
- 淘宝商品详情 API的使用说明
淘宝平台提供了 API 接口可以用于获取淘宝商品详情信息.通过 API 接口,我们可以获取到商品的基本信息.价格.评论及评价等详细信息.以下是使用说明: 获取淘宝API账号 在获取淘宝商品详情 API ...
- C# object类型与dynamic类型的使用
获取动态变化的类型属性 例: var类型的参数a中包含属性Name或Age 获取这个不固定的数据 首先验证a中存在的是什么属性 /// <summary> /// 验证object类型是否 ...
- Solution -「CF 1303G」Sum of Prefix Sums
Description Link. 对于一棵树,选出一条链 \((u,v)\),把链上结点从 \(u\) 到 \(v\) 放成一个 长度 \(l\) 的数组,使得 \(\sum_{i=1}^{l}\s ...
- 超级实用!React-Router v6实现页面级按钮权限
大家好,我是王天- 今天咱们用 reac+reactRouter来实现页面级的按钮权限功能.这篇文章分三部分,实现思路.代码实现.踩坑记录. 嫌啰嗦的朋友,直接拖到第二章节看代码哦. 前言 通常情况下 ...