我正在构建一个单选按钮,当未选中该按钮时,它使用默认图像(black-radio.png 或 white-radio.png 不带复选标记),否则他们使用 black-radio-checked.png 或 white-radio-checked .png。但真的坚持这个错误。我知道有一个选项可以使用计算属性,但我应该如何解决这个问题?
var vm = new Vue({
el: '#colorPicker',
data: {
color: 'black',
colors: [
{
name: 'black',
image: 'images/black-radio.png',
image_checked: 'images/black-radio-checked.png'
},
{
name: 'white',
image: 'images/white-radio.png',
image_checked: 'images/white-radio-checked.png'
}
]
}
});
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js" type="text/javascript"></script>
<div id="colorPicker">
<div class="display-inline-block">
<label :for="colorInfo.name" v-for="(colorInfo, index) in colors">
<input type="radio" name="color" v-model="color" :id="colorInfo.name" class="wireless-headphone-new-input" :value="colorInfo.name"/>
<img :src="'images/' + colorInfo.name + '-radio.png'">
</label>
<div class="confirmation-color capitalize">{{ color }} </div>
</div>
</div>
Whenever a radio button is checked, this.color
value is updated.
因此,v-if
检查color==colorInfo.name
以显示image_checked
所选单选按钮的字段并v-else
显示带有image
字段的其他按钮将起作用。
var vm = new Vue({
el: '#colorPicker',
data: {
color: '',
colors: [
{
name: 'black',
image: 'images/black-radio.png',
image_checked: 'images/black-radio-checked.png'
},
{
name: 'white',
image: 'images/white-radio.png',
image_checked: 'images/white-radio-checked.png'
}
]
}
});
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js" type="text/javascript"></script>
<div id="colorPicker">
<div class="display-inline-block">
<label :for="colorInfo.name" v-for="(colorInfo, index) in colors">
<input type="radio" name="color" v-model="color" :id="colorInfo.name" class="wireless-headphone-new-input" :value="colorInfo.name"/>
<img v-if="color==colorInfo.name" :src="colorInfo.image_checked">
<img v-else :src="colorInfo.image"/>
</label>
<div class="confirmation-color capitalize">{{ color }} </div>
</div>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句