javascript - 选择选项总是在 vue.js 中被预选
问题描述
我对 vue.js 中的选择字段有一个奇怪的行为。
我想要的:一个没有选择选项的选择字段。在纯html中没有问题。这是 jsfiddle 链接:https ://jsfiddle.net/odsf3awr/
<select id="test" size="5" name="test" >
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
但是 vue.s 中的相同代码是预选第一个选项。jsfiddle 示例:https ://jsfiddle.net/q10esdgw/
new Vue({
el: "#app",
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<select id="test" size="5" name="test" >
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
</div>
一个解决方案可能是添加一个隐藏选项,如下所示:
<option hidden disabled selected value>select an option</option>
但我想在 vue.js 中把它清理干净
解决方案
使用 Vue 的v-model
绑定,以便您可以在 JS 中指定您的偏好:
new Vue({
el: "#app",
data: {
selected: ''
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<select id="test" size="5" name="test" v-model="selected">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
</div>
推荐阅读
- html - 不需要的不均匀剥离表 Bootstrap 4
- neo4j - 包含混合类型的集合不能存储在属性中
- asp.net-core - 更新主体实体时,EF Core 2.0 遇到相关实体的“级联”插入问题
- nginx - Google Compute Engine:如何从外部发出请求?
- javascript - 当每个单独的段都是一个对象时,如何在 d3 中创建堆积条形图?
- sql - 获取两个 DATES 之间的 MAX、MIN、AVG
- python-3.x - python打印unicode特殊字符
- php - 使用 Laravel eloquent 将文本框中的数组插入数据库
- php - 如何将 HTML 字符串转换为 DOMNode 以在 PHP 中使用 DOMNode::insertBefore?
- php - PHP 多个 'stripos' 语句