elmeng ui dropdown下拉菜单中 点击莫一个值使用click 不触发怎么解决
时间: 2024-02-12 07:05:35 浏览: 165
解决element-ui的下拉框有值却无法选中的情况
如果在 Elmeng UI Dropdown 组件中使用 `click` 事件绑定,而不是使用 `@change` 事件,可能会导致点击下拉菜单选项时无法触发事件。这是因为 Dropdown 组件在处理 click 事件时,会阻止默认行为,从而导致事件无法传递到选项元素上。
为了解决这个问题,可以在选项元素上添加 `native-click` 修饰符来绑定原生的 `click` 事件。这样可以绕过 Dropdown 组件的阻止行为,使得选项元素上的 `click` 事件能够正常触发。
下面是修改后的示例代码:
```html
<template>
<div>
<form>
<input type="hidden" name="formParam" value="formValue" />
</form>
<el-dropdown>
<span class="el-dropdown-link" @click="handleClick">下拉菜单</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item value="value1" native-click @click="handleItemClick">选项1</el-dropdown-item>
<el-dropdown-item value="value2" native-click @click="handleItemClick">选项2</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
<script>
export default {
methods: {
handleClick(event) {
// 在 Dropdown 组件上绑定 click 事件
},
handleItemClick(event) {
const formParam = event.target.parentNode.querySelector('input[name="formParam"]').value;
const value = event.target.getAttribute('data-value');
// 在这里可以使用 value 和 formParam 两个参数进行处理
console.log(value, formParam);
},
},
};
</script>
```
在上面的代码中,我们在每个选项元素上添加了 `native-click` 修饰符,并在每个选项元素上绑定了 `handleItemClick` 方法来处理点击事件。同时,我们还需要在 `handleClick` 方法中进行一些处理,比如打开/关闭下拉菜单等。
阅读全文