Я пытаюсь изменить суффикс во вводе электронной почты, когда меняю параметр. Вот разные части моего кода:
<q-field
icon = "work"
label = "Institution"
:label-width = "3"
>
<q-option-group
type = "radio"
v-model = "institution"
@change = "changeInstitution"
:options = "[
{label: 'Institution 1', value: 'I1', suffix: '@institution1.fr'},
{label: 'Institution 2', value: 'I2', suffix: '@institution2.fr'}
]"
/>
</q-field>
<q-field
icon = "email"
label = "Adresse courriel"
:label-width = "3"
>
<q-input v-model = "email" type = "email" suffix = "" />
</q-field>
Еще у меня есть такие строчки:
<script>
export default {
methods: {
changeInstitution () {
console.info('Change institution')
}
},
data () {
return {
institution: '',
email: ''
}
}
}
</script>
Проблема в том, что когда я меняю выбор «Учреждение», у меня нет ожидаемого журнала («Изменить учреждение»). Вместо этого у меня есть это:
[Vue warn]: Missing required prop: "value"
found in
---> <QInput>
<QField>
<QTabPane>
<QTabs>
<QModal>
<QDialog>
<Testlogin> at src/components/views/testlogin.vue
<QToolbar>
<QLayoutHeader>
<QLayout>
<LayoutDefault> at src/layouts/default.vue
<Root>
Кто-нибудь может мне подсказать? Посмотрел документацию (http://quasar-framework.org/components/option-group.html#Installation), без толку ...
Заранее спасибо.
Вы используете v-модель. Это эквивалентно
:value = "model" @input = "(newVal) => model = newVal"
Таким образом, в результате @change не вызывается, так как @input выдается первым, изменяет модель, затем компоненты Quasar могут сравнивать излучаемое значение с моделью ... но поскольку @input v-модели изменил модель, теперь значение излучения такое же, поэтому компоненты Quasar пропускают событие @change.
Либо используйте:
:value = "model" @change = "(newVal) => { model = newVal; callSomething...() }"
)