我正在尝试为下拉列表设置默认选定值。我的代码如下所示:
<select v-model="newSelectedUnit" @change="selectUnit(newSelectedUnit)" class="custom-select">
<option v-for="unit in units" :key="unit.id" :value="unit.id" :selected="unit.id == Selectedunit.id">{{ unit.name }}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
但没有默认选择值。我已经尝试硬编码Selectedunit.id为32712(这是单位的 ID 之一):
<select v-model="newSelectedUnit" @change="selectUnit(newSelectedUnit)" class="custom-select">
<option v-for="unit in units" :key="unit.id" :value="unit.id" :selected="unit.id == 32712">{{ unit.name }}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
在 Chrome 检查器中,有一个<option>值为 的标签32712:
<option value="32712">CYLINDER</option>
Run Code Online (Sandbox Code Playgroud)
但默认情况下不选择它。
编辑:
我注意到属性有问题selected。在上面的示例中,如果我设置另一个属性: :selectedXXX="unit.id == 32712" 我在 Chrome 开发工具中得到了预期的属性:
<option selectedXXX="true" value="32712">CYLINDER</option>
Run Code Online (Sandbox Code Playgroud)
编辑2:
如果我删除v-model="newSelectedUnit"我已经正确设置了所选值!但为什么?