I'm trying to pass value from a select field to v-model but the code only works in a v-text-field.
<script> export default { name: 'FormSelect', props: { modelValue: { type: [String, Number], default: '', }, label: { type: String, default: '', }, items: { type: Array, }, }, model: { prop: 'modelValue', event: 'change', }, }; </script>
<template> <div> <v-select:label="label" v-bind:value="modelValue" @input.native="$emit('change', $event.target.value)":items="items" ></v-select> </div> </template>
<template> <div class="form"> <v-flex xs10 sm8 md6 lg5> <v-card> <FormTitle /> <ModalFormMessage /> <v-form ref="form" class="d-flex flex-column"> <FormSelect v-model="vulnerabilities.vulnerability" label="Vulnerability":items="items.vulnerability" /> <FormInputs v-model="vulnerabilities.evidence" label="Eevidence" type="file" /> <FormInputs v-model="vulnerabilities.solution" label="Solution" type="text" /> <FormBtns /> </v-form> </v-card> </v-flex> </div> </template>
In the select field is not returning the selected value, how can I make the value I select be passed to the v-model in the child component too?
You should emit an event with name input
:
@input="$emit('input', $event.target.value)"
I solved it as follows
methods: { changeSelect: function () { this.$emit('input', this.modelValue); }, },
<template> <div> <v-select:label="label" @input="changeSelect()" v-model="modelValue":items="items" ></v-select> <p>{{ modelValue }}</p> </div> </template>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.