vue中鼠标移入显示input框但是输入汉字时input框消失
时间: 2023-07-10 07:06:31 浏览: 141
你可以通过v-on指令来监听input框的事件,然后在鼠标移入时显示input框,同时在输入汉字时隐藏input框。下面是一个简单的示例代码:
```html
<template>
<div @mouseover="showInput" @mouseleave="hideInput">
<span v-if="!show">{{ text }}</span>
<input v-if="show" ref="input" v-model="text" @input="onInput" @blur="hideInput" />
</div>
</template>
<script>
export default {
data() {
return {
show: false,
text: '',
}
},
methods: {
showInput() {
this.show = true
},
hideInput() {
this.show = false
},
onInput(e) {
if (/[\u4e00-\u9fa5]/.test(e.data)) {
this.hideInput()
}
}
},
}
</script>
```
在这个示例中,我们通过`@mouseover`和`@mouseleave`来监听鼠标移入和移出事件,通过`v-if`来控制是否显示输入框。当鼠标移入时,会显示输入框;当鼠标移出时,会隐藏输入框。在输入汉字时,我们通过`@input`事件来监听输入框的输入,如果输入的字符是汉字,则会隐藏输入框。
阅读全文