V-model 和 materializecss M.FormSelect 问题
V-model and materializecss M.FormSelect issue
我有一个具有多个选项的 materializecss select 元素。我想向服务器发送 selected 选项,但我想显示一些默认选项,所以当我 select 一些其他选项并提交时,我使用变量设置为默认选项值的 v-model一切正常。提交表单后,我将变量设置为我想默认显示的选项的值,但它不会更新。
模板
<select ref="select" v-model="state">
<option value="State" disabled selected
>Choose a state</option
>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
脚本
data: () => ({
select: null,
state: 'State'
)},
mounted() {
this.select = M.FormSelect.init(this.$refs.select, {});
M.updateTextFields();
},
methods: {
async submitHandler() {
try {
// here I upload data on server (lots of code)
// and after it's uploaded I clear all fields
this.state = 'State' // I set it back to default option value
}
catch (e) {}
}
}
但它不会更新 ((( 我是 vuejs 的新手,但我正在尽力了解发生了什么,以及为什么即使在模型更改后它也没有设置为默认选项。我在 vue 扩展中的开发人员工具中看到 this.state 的值被设置回 'State' 但选项仍然是最后选择的。请聪明的人帮助我。我真的很喜欢 VueJS 但在这样的情况下它气死我了。我知道问题出在 materializecss 的某个地方。可悲的是,没有方法可以手动设置 M.FormSelect 的值。
我发现了 jQuery 的 hack,但我不想在我的代码中仅将 jQuery 用于一项任务。所以我简单地为 select 组件使用 browser-default class 并在组件的样式部分复制了所有 materializecss select 标签样式。它看起来仍然很棒,但现在可以使用了!
我有一个具有多个选项的 materializecss select 元素。我想向服务器发送 selected 选项,但我想显示一些默认选项,所以当我 select 一些其他选项并提交时,我使用变量设置为默认选项值的 v-model一切正常。提交表单后,我将变量设置为我想默认显示的选项的值,但它不会更新。
模板
<select ref="select" v-model="state">
<option value="State" disabled selected
>Choose a state</option
>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
脚本
data: () => ({
select: null,
state: 'State'
)},
mounted() {
this.select = M.FormSelect.init(this.$refs.select, {});
M.updateTextFields();
},
methods: {
async submitHandler() {
try {
// here I upload data on server (lots of code)
// and after it's uploaded I clear all fields
this.state = 'State' // I set it back to default option value
}
catch (e) {}
}
}
但它不会更新 ((( 我是 vuejs 的新手,但我正在尽力了解发生了什么,以及为什么即使在模型更改后它也没有设置为默认选项。我在 vue 扩展中的开发人员工具中看到 this.state 的值被设置回 'State' 但选项仍然是最后选择的。请聪明的人帮助我。我真的很喜欢 VueJS 但在这样的情况下它气死我了。我知道问题出在 materializecss 的某个地方。可悲的是,没有方法可以手动设置 M.FormSelect 的值。
我发现了 jQuery 的 hack,但我不想在我的代码中仅将 jQuery 用于一项任务。所以我简单地为 select 组件使用 browser-default class 并在组件的样式部分复制了所有 materializecss select 标签样式。它看起来仍然很棒,但现在可以使用了!