vue3 点击回车让el-input切换焦点
时间: 2023-11-07 16:59:12 浏览: 108
你可以在 `el-input` 上监听 `keydown.enter` 事件,然后在事件处理程序中调用 `nextTick` 方法来切换到下一个输入框的焦点。
以下是一个示例:
```html
<template>
<div>
<el-input v-model="input1" @keydown.enter="focusNextInput(2)" />
<el-input v-model="input2" @keydown.enter="focusNextInput(3)" />
<el-input v-model="input3" />
</div>
</template>
<script>
import { nextTick } from 'vue';
export default {
data() {
return {
input1: '',
input2: '',
input3: '',
};
},
methods: {
focusNextInput(inputIndex) {
// 使用 nextTick 等待当前渲染周期结束
nextTick(() => {
const nextInput = this.$el.querySelector(`.el-input:nth-child(${inputIndex}) input`);
if (nextInput) {
nextInput.focus();
}
});
},
},
};
</script>
```
在上面的示例中,我们在每个 `el-input` 上监听 `keydown.enter` 事件,并传入下一个输入框的索引。在事件处理程序中,我们使用 `nextTick` 来等待当前渲染周期结束,然后使用 `querySelector` 查找下一个输入框的元素,并将焦点设置为该元素。
阅读全文