04==》v-if下面可以嵌套 同级的 v-if 和v-node如下
若是第一个v-if没有下面的就不可能显示出来的。

<span v-if="!single" @click="handleStop(scope.row)">
<a v-if="scope.row.status == 0">停用</a>
<a v-else>启用</a>
</span>

<template>
<el-table :data="tableData" stripe style="width: 100%" class="base-table">
<el-table-column
v-for="item in tabColumn"
:key="item.prop"
:prop="item.prop"
:label="item.label"
:align="item.align"
empty-text="暂无数据"
></el-table-column> <!-- 操作下面的数据 -->
<el-table-column
align="center"
width="60"
label="操作">
<template slot-scope="scope">
<div class="tableColumn-control">
<i v-if="!scope.row.showBtn" @mouseenter="handleMouseEnter(scope.row)" class="iconfont icon-more"></i>
<div :class="{single:single}" v-else @mouseleave="handleMouseLeave(scope.row)"> <span v-if="!single" @click="handleStop(scope.row)">
<a v-if="scope.row.status == 0">停用</a>
<a v-else>启用</a>
</span>
<span @click="handleEdit(scope)">编辑</span>
</div>
</div>
</template>
</el-table-column> </el-table>
</template> <script>
export default {
data() {
return {};
}, props: {
// 传递过来的值
tableData: {
type: Array, //数组类型
required: true //必须值
}, // 字段样式
tabColumn: {
type: Array,
required: true
},
single:Boolean
}, methods:{
/* 鼠标移入移除 */
handleMouseEnter(row){
row.showBtn = true
}, handleMouseLeave(row){
row.showBtn = false
}, //
handleStop(row){
this.$emit("on-stop",row)
},
// 编辑
handleEdit(row){
this.$emit("on-edit",row)
},
} };
</script> <style lang="scss" scoped> .base-table {
.tableColumn-control {
height: 50px;
line-height: 50px;
i {
color: #487ff6;
cursor: pointer;
}
span {
display: inline-block;
cursor: pointer;
&:last-child {
color: #487ff6;
margin-left: 10px;
}
}
div {
text-align: center;
background: #D0E9FF;
position: absolute;
z-index: 999;
left: -40px;
top: 0;
width: 100px;
&.single {
width: 60px;
left: 0;
span {
margin-left: 0px;
}
}
}
}
}
</style> <style>
.base-table.el-table td { padding: 0; }
</style>

父组件

<template>
<div>
<mytab :tableData="tableData" :tabColumn="tabColumn" @on-stop="sonGiveChange" @on-edit="sonGiveStop"></mytab>
</div>
</template> <script>
import mytab from "../../../components/my-tab";
export default {
data() {
return {
// 表格数据
tableData: [
{
date: "2016-05-02",
name: "王小虎",
address: "上海市 1518 弄",
tel: "18383838",
showBtn: false
},
{
date: "2016-05-04",
name: "小玩法",
address: "上海市普陀1517 弄",
tel: "18383838",
showBtn: false
},
{
date: "2016-05-01",
name: "王小",
address: "上海市普陀1519 弄",
tel: "18383838",
showBtn: false
},
{
date: "2016-05-03",
name: "王虎",
address: "上海市普陀区1516 弄",
tel: "18383838",
showBtn: false
}
], // 字段数组
tabColumn: [
{
prop: "date",
label: "日期",
align: "left",
showBtn: "false"
},
{
prop: "name",
label: "姓名",
align: "center",
showBtn: "false"
},
{
prop: "address",
label: "地址",
align: "center",
showBtn: "false"
},
{
prop: "tel",
label: "电话",
align: "center",
showBtn: "true"
}
]
};
}, components: {
mytab
}, methods: {
sonGiveChange(vale) {
console.log("儿子传递给我的方法",vale);
}, sonGiveStop(value){
console.log("儿子传递给我的编辑方法",value); }
}
};
</script>

vue 表格组件 有事件交互(二)的更多相关文章

  1. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

    第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...

  2. vue中组件绑定事件时是否加.native

    组件绑定事件时 1. 普通组件绑定事件不能添加.native, 添加后事件失效 2. 自定义组件绑定事件需要添加.native, 否则事件无效 <template> <!-- < ...

  3. vue 组件之纯表格渲染--没有事件交互

    组件 名称小写==> 用-链接 02===> 属性==> empty-text="暂无数据" 当表格中没有数据 就会显示 暂无数据 <el-table-co ...

  4. vue 表格组件分享

    分享一款自己写的table组件  用起来还算简单好用   (先介绍使用方法(ts版本的)) 引入组件不多说 import jTable from '../comp/comp/table/table.v ...

  5. Vue 兄弟组件通过事件广播传递数据

    非父子组件传值 通过事件广播实现非父子组件传值1.新建js,引入并实例化Vue import Vue from 'vue' var VueEvent = new Vue(); export defau ...

  6. vue兄弟组件传值——事件总线

    1.创建一个js文件,例如msg.js,放到合适位置,例如components中,或者其他位置也行.然后在兄弟两个组件中分别引入msg.js文件 msg.js: import Vue from 'vu ...

  7. 第二百二十五节,jQuery EasyUI,PropertyGird(属性表格)组件

    jQuery EasyUI,PropertyGird(属性表格)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 PropertyGird(属性表格)组件的 ...

  8. 第二百二十二节,jQuery EasyUI,DataGrid(数据表格)组件

    jQuery EasyUI,DataGrid(数据表格)组件 学习要点: 1.加载方式 2.分页功能 本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于 Pa ...

  9. JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)

    前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...

随机推荐

  1. Linux日志中出现大量dhclient mesage浅析

    最近检查发现一台Linux服务器,发现其日志里面有大量下面信息,其中部分信息做了脱敏处理.其中一个地址A(192.168.AAA.AAA) 为DNS服务器地址,地址B(192.168.BBB.BBB) ...

  2. MATLAB实例:对称双随机矩阵

    MATLAB实例:对称双随机矩阵 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 双随机矩阵(doubly stochastic matrix):元素属 ...

  3. qtdomdocument找不到

  4. poj 1182 食物链 并查集 题解《挑战程序设计竞赛》

    地址 http://poj.org/problem?id=1182 题解 可以考虑使用并查集解决 但是并不是简单的记录是否同一组的这般使用 每个动物都有三个并查集 自己 天敌 捕食 并查集 那么在获得 ...

  5. 02. Go 语言基本语法

    Go语言基本语法 变量.数据类型和常量是编程中最常见,也是很好理解的概念.本章将从 Go 语言的变量开始,逐步介绍各种数据类型及常量. Go 语言在很多特性上和C语言非常相近.如果读者有C语言基础,那 ...

  6. dom0、dom2、dom3事件

    https://www.jianshu.com/p/3acdf5f71d5b addEventListener():可以为元素添加多个事件处理程序,触发时会按照添加顺序依次调用. removeEven ...

  7. vscode 笔记

    设置中文 查看 --> 命令面板 --> 输入: change display language , 安装 中文, 重启 vscode . markdown 转 pdf 安装 Markdo ...

  8. Python必备收藏!博士大佬总结的Pycharm 常用快捷键思维导图

    ​ 搜索 Ctrl + Shift + F7用法高亮显示 Ctrl + Alt + F7显示用法 编辑 ​ Ctrl + Shift + V从最近的缓冲区粘贴 Ctrl + D复制选定的区域或行到后面 ...

  9. 《细说PHP》第四版 样章 第23章 自定义PHP接口规范 3

    23.2  接口实现的基础 大家都很了解函数在本地应用,通过名称调用函数执行,并通过传递不同参数,函数有不同执行,执行后给调用者返回结果.如果把一个函数做成一个接口远程访问,也需要这几个步骤.使用HT ...

  10. Appium+java --连接模拟器画面倒过来的问题

    引用文章:https://blog.csdn.net/testerYu/article/details/90024049 工具 夜神模拟器 appium 现象 通过代码运行截图操作,结果全是倒着的如下 ...