Vue.directive('confirm', function(el, binding) { const value = binding.value || {} const title = value.title || '您确定要进行该项操作吗?' el.onclick = function() { ElementUI.MessageBox.confirm(title, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { if (value.data) { value.fun(value.data) } else { value.fun() } }).catch(() => { }) } }
时间: 2024-04-19 17:27:22 浏览: 59
Vue.directive()的用法和实例详解
这段代码定义了一个名为"confirm"的自定义指令,用于在点击元素时弹出确认框。指令的行为是在点击元素时调用ElementUI的MessageBox.confirm方法显示一个提示框,其中包含了一个确认按钮和一个取消按钮。
确认框的标题可以通过指令的绑定值中的title属性进行自定义,如果没有指定title,则默认为'您确定要进行该项操作吗?'。
当用户点击确认按钮时,会执行绑定值中的fun函数。如果指定了data属性,则将data作为参数传递给fun函数;否则,直接调用fun函数。
如果用户点击取消按钮或关闭确认框,则不会触发任何操作。
这个自定义指令可以方便地在Vue项目中使用,用于实现点击元素时弹出确认框并执行相应操作的功能。
阅读全文