vue.js - 如何为 Element UI 单选组上的更改设置 preventDefault
问题描述
我正在使用 Element UI 单选按钮组,我想preventDefault()
在触发更改事件时使用:
<el-radio-group @change="changeHandler" v-model="radio1">
<el-radio-button label="New York"></el-radio-button>
<el-radio-button label="Washington"></el-radio-button>
<el-radio-button label="Los Angeles"></el-radio-button>
<el-radio-button label="Chicago"></el-radio-button>
</el-radio-group>
脚本:
methods: {
changeHandler(value, e) {
// e is undefined
// here should be preventDefault
}
}
我尝试设置第二个参数来更改功能,但它未定义。
解决方案
Element UI 的工作方式略有不同。@change
只返回选择的值,没有别的。我们需要使用native
来访问Event
对象。但@change.native
不会起作用,因为更改已经发生(如果您想实际阻止更改)。作为旁注,我会改用disabled
属性(如文档中所述)。在我看来,对于 UX,用户无法选择单选按钮很奇怪,但将其放在一边......@click.native
如果您想阻止选择,请改用:
@click.native="changeHandler"
然后您可以访问该Event
对象:
changeHandler(e) {
console.log(e.target.value)
if(e.target.value == "Washington") {
e.preventDefault();
}
}
推荐阅读
- c++ - 为什么我从 int** 到 const int** 的转换无效?
- unity3d - 我无法统一更改动画剪辑中儿童的位置
- spring - Spring Security Concurrent Session Control
- android - does a remote bound service get foreground affinity of process it is bound to?
- c - 堆是否像内存中的堆栈一样具有固定大小,所以如果两者都发生碰撞会发生什么
- python - 为 Python 逻辑创建 C++ Qt Gui
- c - 我无法解决更改字符的问题
- c# - Calling two methods of the same object in C# - chain like syntax
- java - 变量已在可样式化的类 android 中定义
- android - Android:以编程方式请求互联网许可