在elementui中Notification组件添加点击事件实例


Posted in Javascript onNovember 11, 2020

1. 官方文档

在elementui中Notification组件添加点击事件实例

2. 添加点击事件,传参

handleClick() {
 let telNo = "1111",
 message = "22222",
 _this = this; //函数作用域问题

 this.$notify({
 title: "通知消息",
 position: "bottom-right",
 dangerouslyUseHTMLString: true,
 message: `<p style="cursor: pointer;">号码:<i>${telNo}</i></p>`,
 duration: 0,
 type: "warning",
 onClick() {
 _this.defineCallBack(message); //自定义回调,message为传的参数
 }
 });
},

//点击事件回调
defineCallBack(message) {
 console.log(message);
},

3. 按一定时间顺序弹出消息通知

//按一定时间顺序弹出消息通知
notifyByOrder() {
 let data = ["aaaa", "bbbbb", "ccccc"];
 for (let i = 0; i < data.length; i++) {
 let item = data[i];
 setTimeout(() => {
 this.$notify({
 title: `通知${i + 1}`,
 position: "bottom-right",
 message: `通知内容${item}`,
 duration: 0,
 type: "warning"
 });
 }, i * 5000);
 }
}

补充知识:vue+elementui怎样点击table中的单元格触发事件--弹框

elementui中提供了点击行处理事件

查看位置: elementui的table事件

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中,就像官网中例子一样,但是这样会在点击时触发多次(次数与当前页展示的数量一致)

以上这篇在elementui中Notification组件添加点击事件实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
提高网站信任度的技巧
Oct 17 Javascript
如何正确使用javascript 来进行我们的程序开发
Jun 23 Javascript
jquery.mobile 共同布局遇到的问题小结
Feb 10 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
Mar 30 Javascript
javascript中JSON对象与JSON字符串相互转换实例
Jul 11 Javascript
JavaScript数组各种常见用法实例分析
Aug 04 Javascript
javascript图片滑动效果实现
Jan 28 Javascript
AngularJS控制器之间的通信方式详解
Nov 03 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
Apr 28 Javascript
基于js中style.width与offsetWidth的区别(详解)
Nov 12 Javascript
vue-cli3 karma单元测试的实现
Jan 18 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
vue.js+element 默认提示中英文操作
Nov 11 #Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 #Javascript
vue 实现element-ui中的加载中状态
Nov 11 #Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
Nov 11 #Javascript
JS前端基于canvas给图片添加水印
Nov 11 #Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
Nov 11 #Javascript
使用Vant完成Dialog弹框案例
Nov 11 #Javascript
You might like
星际争霸任务指南——虫族
2020/03/04 星际争霸
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
javascript 写类方式之八
2009/07/05 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
js实现随机点名小功能
2017/08/17 Javascript
JavaScript中click和onclick本质区别与用法分析
2018/06/07 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
Python下singleton模式的实现方法
2014/07/16 Python
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
MYSQL支持事务吗
2013/08/09 面试题
西式婚礼主持词
2014/03/13 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
2015年社区教育工作总结
2015/05/13 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers
Go语言编译原理之变量捕获
2022/08/05 Golang