<Input type="text" @on-change="change($event)"> change(e) { 在这里将输入框得到内容清空,且不使用v-model }
时间: 2024-12-13 07:24:15 浏览: 3
在Vue中,如果你有一个`<Input>`元素并且想在用户更改文本内容后立即清空它,但不直接依赖于`v-model`双向绑定,你可以使用自定义事件`@on-change`并在`change`函数中操作。以下是示例代码:
```html
<template>
<input type="text" :value="currentValue" @on-change="change($event)" />
</template>
<script>
export default {
data() {
return {
currentValue: '', // 当前的输入值
};
},
methods: {
change(e) {
// 阻止默认的事件行为,防止表单提交或其他默认行为
e.preventDefault();
// 从event.target获取新输入的内容,并将其赋值给currentValue,然后清空输入框
const newValue = e.target.value;
this.currentValue = newValue === '' ? null : newValue; // 如果输入为空,可以设置为null或其他清理标志
// 清空输入框
e.target.value = '';
}
}
};
</script>
```
这个`change`函数会捕获用户的每一次输入变化,然后清空输入框,并更新`currentValue`以反映最新的输入。
阅读全文