vue3 el-select选中后失焦
时间: 2023-08-17 22:11:40 浏览: 303
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
在 Vue 3 中使用 Element Plus 的 el-select 组件,在选中后失焦的操作稍有不同。你可以使用 `v-model` 指令绑定选中的值,并使用 `@change` 事件监听选项变化。然后,通过调用 `blur` 方法来手动失焦。以下是示例代码:
```html
<template>
<el-select v-model="selectedOption" @change="handleSelectChange">
<!-- el-select 的选项 -->
</el-select>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const selectedOption = ref(null);
const handleSelectChange = () => {
// 执行失焦操作
const selectInput = document.querySelector('.el-input__inner');
if (selectInput) {
selectInput.blur();
}
};
return {
selectedOption,
handleSelectChange
};
}
};
</script>
```
在上面的代码中,我们使用 `ref` 创建了一个响应式的 `selectedOption` 变量,通过 `v-model` 将其绑定到 el-select 组件上实现双向绑定。在 `handleSelectChange` 方法中,我们通过 `document.querySelector` 获取到 el-select 的输入框元素,并调用 `blur` 方法进行失焦操作。
请注意,这里使用了普通的 DOM 操作来获取 el-select 的输入框元素,因为在 Vue 3 中没有了 `$refs`,需要通过普通的 DOM 操作来获取元素。另外,`.el-input__inner` 是 Element Plus 中 el-select 输入框的类名,你可以根据实际情况进行调整。
这样,在 el-select 组件选中后,就会触发 change 事件并执行失焦操作。
阅读全文