el-input 标签如何使用 $emit update
时间: 2023-06-25 09:05:39 浏览: 138
`<el-input>` 标签是 Element UI 框架中的一个输入框组件,它支持 `v-model` 双向绑定。如果你想在组件内部修改输入框的值,并且希望这个修改能够触发父组件的响应,可以使用 `$emit('update:modelValue', value)` 来触发 `update:modelValue` 事件。
具体操作如下:
1. 在父组件中使用 `<el-input>` 组件时,通过 `v-model` 绑定一个父组件的数据,例如:
```html
<template>
<div>
<el-input v-model="inputValue"></el-input>
</div>
</template>
<script>
export default {
data() {
return {
inputValue: ''
}
}
}
</script>
```
2. 在子组件内部,通过 `$emit` 触发 `update:modelValue` 事件,例如:
```html
<template>
<div>
<el-input :value="internalValue" @input="handleInput"></el-input>
</div>
</template>
<script>
export default {
props: {
value: String
},
data() {
return {
internalValue: this.value
}
},
methods: {
handleInput(value) {
this.internalValue = value;
this.$emit('update:value', value);
}
}
}
</script>
```
上面的代码中,我们使用 `props` 接收父组件传递过来的值,并在 `data` 中将其保存在 `internalValue` 中。在输入框的 `@input` 事件中,我们更新了 `internalValue` 的值,并通过 `$emit` 触发了 `update:value` 事件,将新的值传递给父组件。注意,这里的 `value` 指的是子组件的 `props` 属性,而不是 `<el-input>` 组件的 `value` 属性。
阅读全文