我正在尝试使用选定的选项值。无法显示或保存该值。
这是我的子组件
<script>
export default {
props: {
options : {
type:Array,
},
selectOpt:undefined,
}
emits : ['input','change','option:selected']
}
</script>
<template>
<div>
<h1>
Hi, I'm a component
</h1>
<select
v-model="selectOpt"
@change="$emit('input', event.target.value)">
<option v-for="option in options"
:key="option"
>{{option}}</option>
</select>
</div>
</template>
这是我的父母
`
<script >
import Comp from './Comp.vue'
export default {
data() {
return {
options : [1,2,3,4,5,6],
optSelected : undefined,
}
},
components: {
Comp
}
}
</script>
<template>
<Comp v-model="optSelected" :options="options"></Comp>
<p>
--->{{optSelected}}
</p>
</template>
`
我尝试在“input”事件和“change”事件中进行更改。不确定我做错了什么。我发现了一个解决方案,需要一个我不喜欢使用的vue-select库。
1条答案
按热度按时间vmdwslir1#
这是一个简单的细节:在版本3中,您需要使用
update:modelValue
来更改父组件中的v-model
。(参考:(第10页)还有一件事:你不应该把这个道具当作
v-model
来使用,以防止在你的应用程序中出现副作用。你可以在这里读到更多关于它的信息:https://eslint.vuejs.org/rules/no-mutating-props.html希望能有所帮助: