Quasar 根据选项组更改电子邮件的后缀
Quasar change suffix of email depending on option group
我试图在更改选项时更改电子邮件输入的后缀。
这是我的代码的不同部分:
<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.log('Change institution')
}
},
data () {
return {
institution: '',
email: ''
}
}
}
</script>
问题是当我更改 "Institution" 选择时,我没有预期的日志 ("Change institution")。相反,我有这个:
[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-model。这相当于
:value="model" @input="(newVal) => model = newVal"
因此,@change 不会被调用,因为首先发出@input,更改模型,然后 Quasar 组件将发射值与模型进行比较...但是由于 v-model 的 @输入更改模型,现在发射值相同,因此 Quasar 组件跳过 @change 事件。
要么使用:
- v-模型和@input
- "lazy" 相当于 v-model (
:value="model" @change="(newVal) => { model = newVal; callSomething...() }"
)
我试图在更改选项时更改电子邮件输入的后缀。 这是我的代码的不同部分:
<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.log('Change institution')
}
},
data () {
return {
institution: '',
email: ''
}
}
}
</script>
问题是当我更改 "Institution" 选择时,我没有预期的日志 ("Change institution")。相反,我有这个:
[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-model。这相当于
:value="model" @input="(newVal) => model = newVal"
因此,@change 不会被调用,因为首先发出@input,更改模型,然后 Quasar 组件将发射值与模型进行比较...但是由于 v-model 的 @输入更改模型,现在发射值相同,因此 Quasar 组件跳过 @change 事件。
要么使用:
- v-模型和@input
- "lazy" 相当于 v-model (
:value="model" @change="(newVal) => { model = newVal; callSomething...() }"
)