vue+elementui怎样点击table中的单元格触发事件--弹框
- 可以先看一下官网中table的自定义列模板代码
- <template>
- <el-table
- :data="tableData"
- border
- style="width: 100%">
- <el-table-column
- label="日期"
- width="180">
- <template scope="scope">
- <el-icon name="time"></el-icon>
- <span style="margin-left: 10px">{{ scope.row.date }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="姓名"
- width="180">
- <template scope="scope">
- <el-popover trigger="hover" placement="top">
- <p>姓名: {{ scope.row.name }}</p>
- <p>住址: {{ scope.row.address }}</p>
- <div slot="reference" class="name-wrapper">
- <el-tag>{{ scope.row.name }}</el-tag>
- </div>
- </el-popover>
- </template>
- </el-table-column>
- <el-table-column label="操作">
- <template scope="scope">
- <el-button
- size="small"
- @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
- <el-button
- size="small"
- type="danger"
- @click="handleDelete(scope.$index, scope.row)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </template>
- <script>
- export default {
- data() {
- return {
- tableData: [{
- date: '2016-05-02',
- name: '王小虎',
- address: '上海市普陀区金沙江路 1518 弄'
- }, {
- date: '2016-05-04',
- name: '王小虎',
- address: '上海市普陀区金沙江路 1517 弄'
- }, {
- date: '2016-05-01',
- name: '王小虎',
- address: '上海市普陀区金沙江路 1519 弄'
- }, {
- date: '2016-05-03',
- name: '王小虎',
- address: '上海市普陀区金沙江路 1516 弄'
- }]
- }
- },
- methods: {
- handleEdit(index, row) {
- console.log(index, row);
- },
- handleDelete(index, row) {
- console.log(index, row);
- }
- }
- }
- </script>
点击单元格弹出框可以使用template-scope方式实现
- 父组件
- <el-table
- :data="tableData"
- border
- style="width: 100%">
- <el-table-column
- label="编号"
- prop = "number"
- width="180">
- <template scope="scope">
- <div style="color:red;text-decoration:underline;cursor:pointer;" @click="getMore(scope.row)">{{ scope.row.date }}</div>
- </template>
- </el-table-column>
- <el-table-column
- label="名称"
- prop = "name"
- width="180">
- <template scope="scope">
- <div style="color:red;text-decoration:underline;cursor:pointer;" @click="getMore2(scope.row)">{{ scope.row.date }}</div>
- </template>
- </el-table-column>
- </el-table>
- <el-dialog :visible-sync="getA">
- <my-component :rowaa=row></my-component>
- </el-dialog>
- <el-dialog :visible-sync="getB">
- <my-component2 :rowaa=row></my-component2>
- </el-dialog>
- <script>
- import myComponent from './mycomponent'
- import myComponent2 form './mycomponent2'
- export default {
- data() {
- return {
- tableData : [
- {"number" : 1,"name":"y"},
- {"number" : 2,"name":"x"},
- ],
- getA : false,
- getB : false,
- row : ''
- }
- },
- components: {
- 'my-component' : myComponent,
- 'my-component2' : myComponent2
- },
- methods : {
- getMore(row) {
- this.getA = true
- this.row = row
- },
- getMore2(row) {
- this.getB = true
- this.row = row
- }
- }
- }
- </script>
- 子组件 mycomponent
- <div>{{formData}}</div>
- <script>
- export default {
- props: ['rowaa'],
- data() {
- return {
- formData:''
- }
- },
- created() {
- this.getData()
- },
- watch : {
- 'rowaa' : 'getData'
- },
- methods: {
- getData() {
- //从后台获取数据逻辑 model.CacheModel.get('api/' + this.rowaa + '.json')
- //通过this.rowaa就可以获取传过来的值
- this.formData = 333
- }
- }
- }
- </script>
问题解决
- 可以使用template+slot插值进行管理
- 点击找到当前行的信息,然后再根据该信息在子组件中请求数据
- 也试过通过点击行的事件,判断在哪一个单元格然后处理事件,这样也可以,但如果在表格中列存放的内容发生变化又得重新调整
- 也试过dialog弹出框直接写在当前单元格的template中,就像官网中例子一样,但是这样会在点击时触发多次(次数与当前页展示的数量一致)
vue+elementui怎样点击table中的单元格触发事件--弹框的更多相关文章
- elmentUI为table中的单元格添加事件
<el-main> <el-tabs v-model="curTab" type="card"> <!-- tab签 --> ...
- css实现table中td单元格鼠标悬浮时显示更多内容
table中,td单元格无法显示下全部内容,需要在鼠标hover时显示全部内容. 正常显示样式: 鼠标hover时: html: <td>displayAddress<span cl ...
- 使用js合并table中的单元格
用primefaces做的报表,领导要求合并相同内容的单元格,但是primefaces没有找到可以合并单元格的组件,想来想去,只有页面加载后用js合并了. http://blog.csdn.net/d ...
- POI写docx文件table中的单元格水平、垂直对齐
核心示例代码 垂直对齐 XWPFTableCell cell = table.getRow(i).getCell(j); cell.setVerticalAlignment(XWPFTableCell ...
- 【表格设置】HTML中合并单元格,对列组合应用样式,适应各浏览器的内容换行
1.常用表格标签 普通 <table> | <tr> | | <th ...
- 点击table中的某一个td,获得这个tr的所有数据
功能: 点击table中的某一个td,获得这个tr的所有数据 效果图 <html> <head> <script> function getData2(elemen ...
- JS去遍历Table的所有单元格中的内容
用JS去遍历Table的所有单元格中的内容,可以用如下JS代码实现 function GetInfoFromTable(tableid) { var tableInfo = ""; ...
- JS遍历Table的所有单元格内容
用JS去遍历Table的所有单元格中的内容,可以用如下JS代码实现: 这个方法的参数是唯一标识Table的id,用document对象的获取. function GetInfoFromTable(ta ...
- winform中dataGridView单元格根据值设置新值,彻底解决绑定后数据类型转换的困难
// winform中dataGridView单元格在数据绑定后,数据类型更改困难,只能迂回实现.有时候需要将数字变换为不同的文字描述,就会出现int32到string类型转换的异常,借助CellFo ...
- 读取Excel文件中的单元格的内容和颜色
怎样读取Excel文件中的单元格的内容和颜色 先创建一个Excel文件,在A1和A2中随意输入内容,设置A1的字体颜色为红色,A2的背景为黄色.需要 using Excel = Microsoft.O ...
随机推荐
- 精橙FPGA,一个承接FPGA代码设计的资深工程师团队。
一.我们是谁 精橙FPGA,一个承接FPGA代码设计的资深工程师团队. 二.服务内容 面向在校学生.职场工程师等人员,提供FPGA入门指导和FPGA代码设计外包服务. 三.业务范围 主要提供Xilin ...
- Python OpenCV按照像素点图片切割
图像分割是从图像处理到图像分析的关键步骤,在目标检测.特征提取.图像识别等领域具有广泛应用.OpenCV是一个强大的计算机视觉库,提供了多种图像分割方法.本文将详细介绍如何使用Python和OpenC ...
- 通用的定时任务工具 schedule-server
背景: 我曾经在一个自动化测试平台中集成定时任务,基于 APScheduler 库花了好长时间解决重复执行的问题.定时任务集成在服务中也让服务变得复杂.最后,我们选择了公司其他团队go语言开发的一个定 ...
- ChatGPT自动生成功能测试用例的步骤
在上一节,我们一起探讨了ChatGPT在功能测试用例生成方面的优势.接下来,我们将探讨ChatGPT自动生成功能测试用例的步骤. 1) 问题定义:让ChatGPT自动生成功能测试用例的第一步是清 ...
- 鸿蒙UI开发快速入门 —— part07:组件状态管理之@Prop/@Link装饰器
1.前言 我们在上一章学习了@State装饰器,@State装饰器的作用范围仅仅在当前组件,接下来,我们讨论如何从父组件中传入参数到子组件,让子组件随着父组件的状态发生变化.本章将要介绍的就是:@Pr ...
- Docker跨主机跨服务器迁移
主要作用: 就是让配置好的容器,可以得到复用,后面用到得的时候就不需要重新配置. 其中涉及到的命令有: docker commit 将容器保存为镜像 docker save -o 将镜像备份为tar ...
- 10C++选择结构(4)——教学
一.switch语句 (第25课 成绩等级) 问题:风之巅小学规定,若测试成绩大于或等于90分为"A",大于或等于70分小于90分为"B",大于或等于60分小于 ...
- docker-entrypoint.sh 文件的用处
参考出处很多著名库的 Dockerfile 文件中,通常都是 ENTRYPOINT 字段会是这样: ENTRYPOINT ["docker-entrypoint.sh"]这里我们参 ...
- 记一次简单的存储过程和Pivot行转列
首先我很讨厌写存储过程,其次我很讨厌 没办法,主要是需要进行 行转列,项目经理说可以用Pivot.我不是很精通sql,但是我会百度呀~ pivot需要有确定的列名.那我这个项目里面没办法确定,最后问了 ...
- IM开发干货分享:如何优雅的实现大量离线消息的可靠投递
1.点评 IM聊天消息的可靠投递,是每个线上产品都要考虑的IM热点技术问题. IM聊天消息能保证可靠送达,对于用户来说,就好比把钱存在银行不怕被偷一样,是信任的问题.试想,如果用户能明显感知到聊天消息 ...