vue父组件清空子组件input的值
时间: 2023-07-08 18:47:46 浏览: 177
可以通过在父组件中设置一个变量,然后通过 props 将这个变量传递给子组件,在父组件中更新这个变量的值即可实现清空子组件 input 的值。
具体实现步骤如下:
1. 在父组件中定义一个变量,用来保存子组件 input 的值。
2. 在父组件中定义一个方法,用来更新这个变量的值。
3. 在父组件中将这个变量通过 props 传递给子组件。
4. 在子组件中通过监听父组件传递过来的变量,实时更新 input 的值。
5. 在父组件中调用清空子组件 input 的方法时,更新这个变量的值即可。
下面是一个简单的示例代码:
父组件:
```html
<template>
<div>
<Child :inputValue="inputValue" />
<button @click="clearInput">清空</button>
</div>
</template>
<script>
import Child from './Child.vue'
export default {
components: {
Child
},
data() {
return {
inputValue: ''
}
},
methods: {
clearInput() {
this.inputValue = ''
}
}
}
</script>
```
子组件:
```html
<template>
<input v-model="inputValue" />
</template>
<script>
export default {
props: {
inputValue: {
type: String,
default: ''
}
},
watch: {
inputValue(value) {
this.$emit('update:inputValue', value)
}
}
}
</script>
```
在父组件中,我们将 inputValue 通过 props 传递给了子组件,子组件中通过监听 inputValue 的变化,实时更新 input 的值,并通过 `$emit` 事件将更新后的值传递回父组件。
在父组件中调用 `clearInput` 方法时,我们只需要将 inputValue 的值设置为空字符串即可清空子组件 input 的值。
阅读全文