vue中鼠标移入显示input框但是输入汉字时input框消失怎么解决
时间: 2023-12-14 19:39:58 浏览: 114
vue鼠标在表格中移入移出input显示隐藏
这个问题可以使用 Vue 的指令来解决。具体实现如下:
1. 在模板中,使用 `v-show` 指令控制 input 元素的显示和隐藏。同时,使用 `@mouseleave` 指令来处理鼠标移出事件。
```html
<div @mouseenter="showInput = true" @mouseleave="showInput = false">
<span v-show="!showInput" >鼠标移入显示</span>
<input v-show="showInput" type="text" placeholder="请输入" />
</div>
```
2. 在 Vue 实例中,定义一个变量 `showInput` 来控制 input 元素的显示和隐藏。同时,为 `input` 元素绑定 `@input` 事件来处理输入事件。在事件处理函数中,如果输入框中有文字,就不隐藏 input 元素;否则隐藏。
```javascript
new Vue({
el: "#app",
data: {
showInput: false
},
methods: {
handleInput(event) {
if (event.target.value !== "") {
this.showInput = true;
} else {
this.showInput = false;
}
}
}
});
```
完整代码如下:
```html
<template>
<div @mouseenter="showInput = true" @mouseleave="showInput = false">
<span v-show="!showInput" >鼠标移入显示</span>
<input v-show="showInput" type="text" placeholder="请输入" @input="handleInput" />
</div>
</template>
<script>
export default {
data() {
return {
showInput: false
};
},
methods: {
handleInput(event) {
if (event.target.value !== "") {
this.showInput = true;
} else {
this.showInput = false;
}
}
}
};
</script>
```
阅读全文