在Vuejs中怎么给容器`el`绑定事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Vuejs中怎么给容器`el`绑定事件相关的知识,希望对你有一定的参考价值。

参考技术A 有两种方法:1 对话框里可以添加自定义的view,在view中可以加按钮2 不在自定义里加,就用系统自带的三个按钮,setPositiveButton方法指的是左边的确定按钮,setNegativeButton方法指的是右边的取消,setNeutralButton方法指的是中间的忽略,这三个方法有两个参数,第一个是定义按钮显示时的名字,你自己可以改,第二个参数是他们相对应的点击事件,需要new DialogInterface.OnClickListener最后,这两种方法用处略有不同,比如你想按下按钮后对话框不消失,那么就用第一种方法,第二种方法是按下后对话框就消失了

vue给同一元素绑定单击click和双击事件dblclick,执行不同逻辑

在做项目过程中,需求是点击孔位单击弹出对话框查看产品总数,双击弹出对话框查看详情。一开始直接click和dblclick写在标签里面,但是不管怎么样,总是执行单击事件

解决办法:利用计时器,在大概时间模拟双击事件

html部分代码:

 <div class="grid-content">
    <el-button 
    v-for="(item,index) in items" :key="index"
   @click="storageCount(item.id)"
   @dblclick.native="storageDetail(item.id)"

    class="inline-cell"
   :class="colors[item.status]"> {{item.id}}</el-button> </div>

.native主要用于监听组件根元素的原生事件,主要是给自定义的组件添加原生事件。

官方对.native修饰符的解释为:有时候,你可能想在某个组件的根元素上监听一个原生事件。可以使用 v-on 的修饰符 .native 

js部分代码

<script>
import desDialog from ‘./dialog‘;
import detailDialog from ‘./detailDialog‘;
var time = null; // 在这里定义time 为null export default { name: ‘storeTable‘, components: { desDialog, detailDialog }, props: [‘providerid‘], data() { return { colors: [‘space‘, ‘isBuy‘], showDialog: false, showDialogT: false }; }, methods: {
  // 单击事件函数 storageCount(id) {
clearTimeout(time); //首先清除计时器 time = setTimeout(() => { this.showDialog = !this.showDialog; const obj = {}; obj.cutname = id; obj.providerid = this.providerid; this.$store.dispatch(‘GetStorageCount‘, obj); }, 300); //大概时间300ms },
  // 双击事件函数,清除计时器,直接处理逻辑 storageDetail(id) { clearTimeout(time); //清除
this.showDialogT = !this.showDialogT; const obj = {}; obj.cutname = id; obj.providerid = this.providerid; this.$store.dispatch(‘GetStorageDetail‘, obj); }, close() { this.showDialog = false; }, closeT() { this.showDialogT = false; } } }; </script>

 









以上是关于在Vuejs中怎么给容器`el`绑定事件的主要内容,如果未能解决你的问题,请参考以下文章

vuejs学习笔记--属性,事件绑定,ajax

vuejs学习笔记--属性,事件绑定,ajax

给js动态创建的对象绑定事件

vue给同一元素绑定单击click和双击事件dblclick,执行不同逻辑

elmentUI组件怎么绑定原生事件

vuejs template click怎么直接传递this