vue.js - 如何在Vue中设置默认选择
问题描述
我似乎无法设置默认选择选项,只要我有v-model
默认选择不再起作用
在职的:
<select class="uk-select uk-form-width-large" style="float: right">
<option hidden>Select Bank</option>
<option v-for="bank in bank_list" v-bind:value="bank">
{{ bank.bank_name }}
</option>
</select>
不工作:
<select class="uk-select uk-form-width-large" style="float: right" v-model="bank_selected">
<option hidden>Select Bank</option>
<option v-for="bank in bank_list" v-bind:value="bank">
{{ bank.bank_name }}
</option>
</select>
由于设置默认选项没有v-model
我尝试使用@onChange
但无法弄清楚如何通过选定的银行,因为银行循环<options>
不在<select>
标签中
<select class="uk-select uk-form-width-large" style="float: right" @onChange="selectOnChange">
<option hidden>Select Bank</option>
<option v-for="bank in bank_list" v-bind:value="bank">
{{ bank.bank_name }}
</option>
</select>
数据和方法:
data() {
return {
bank_list: [...],
bank_selected: {}, // empty by default
}
},
methods: {
selectOnChange(event) {
console.log("onChange....", event);
// logs event but cannot get value in event.target.value
}
}
解决方案
对于没有的结构v-model
:
SELECT的“更改事件” 是@change
,试试这个:
HTML
<select class="uk-select uk-form-width-large" style="float: right" @change="selectOnChange">
<option hidden>Select Bank</option>
<option v-for="bank in bank_list" :value="bank">
{{ bank.bank_name }}
</option>
</select>
通过该事件,您应该能够获得选定的元素:
JS
methods: {
selectOnChange(event) {
console.log(event.srcElement.value)
}
}
推荐阅读
- python - 使用 GoogleNews 抓取新闻时出错 - “没有名为 GoogleNews 的模块”
- python - 通过 vscode jupyter 服务器运行的 Jupyter Notebook 出现 ModuleNotFoundError: No module named from pyspark on Amazon EMR
- javascript - 缩短的 if 语句及其在 JavaScript 中的直接等价物
- f# - F# CSV TypeProvider 在控制台应用程序中不太健壮
- r - 基于列子字符串的行均值
- python - 根据外键过滤项目
- opencl - 非图像 OpenCL 参数上的 read_only 与 const
- deep-learning - builtin_function_or_method' 对象没有属性 'size'
- python - 使用 TLS 的烧瓶应用程序
- sql - 如何仅在 oracle sql 中显示所有数字?