我有一个colors
对象,其中包含您的想法:
{
"RD": "Red",
"BL": "Blue",
"GR": "Green",
"YW": "Yellow"
}
我有select
下拉列表,为<option>
对象中的每种颜色创建colors
:
<select v-model="colors">
<option selected>SELECT A COLOR</select> // default value
<option v-for="(color, key) in colors">{{ color }}</option>
</select>
这在下拉列表中显示效果很好。
{{ color }}
表达式显示名称,即“蓝色”{{ key }}
作为表达式,则会显示为“ BR ”挑战:
key
分配给option
value
属性例如:
<option v-for="(color, key) in colors" :key="key">{{ color }}</option>
在这种情况下,key
实际上是'蓝色'而不是'BR',将其切换为color
会显示相同的内容。我做错了什么?
答案 0 :(得分:2)
尝试以下方法,通过:value
设置值属性:
<select v-model="colors">
<option selected>SELECT A COLOR</select>
<option v-for="(color, key) in colors" :value="key" :key="key">{{ color }}</option>
</select>
这是展示功能的JSFiddle。
希望这有帮助!