【发布时间】:2021-10-07 09:27:45
【问题描述】:
这里我有两个组件 ModalName.vue 是子组件和 AddTask.vue 这是父组件。在ModalName.vue(子组件)内部,如果我使用HTML <input /> 元素在更改输入时发出事件以更新父组件中的状态,它可以完美运行,但如果我使用quasar 组件,即
<q-input /> 然后它不会发出事件。这段代码有什么问题。
ModalName.vue
<template>
<div class="row q-mb-sm">
<!-- <input :value="name" @input="$emit('changeName:name', $event)"/> -->
<q-input
:value="name"
@input="$emit('changeName:name', $event)"
/>
</div>
</template>
<script>
export default {
props: ["name"],
}
</script>
AddTask.vue
<template>
<ModalName
v-model:name="taskToSubmit.name"
@changeName:name="(e)=>taskToSubmit.name = e.target.value"
/>
</template>
<script>
export default {
data(){
return{
taskToSubmit:{
name: '',
dueDate: '',
dueTime: '',
completed: false
}
}
},
components:{
ModalName: require('./shared/ModalName.vue').default
}
}
</script>
【问题讨论】:
-
使用 Vue 3 你应该听
@update:modelValuevuejs.org/guide/components/events.html#usage-with-v-model
标签: javascript node.js vue.js vuex quasar