背景:
在项目中使用cell和radio配合使用时,开启了点击事件,点击哪个把对象的属性添加到一个集合数据中,发现数据添加了,但页面选中效果没有实现。
<div v-for="(inner, innerIndex) in item" :key="innerIndex" class="item-group">
<van-radio-group v-model="degreeLevel[inner.id]">
<van-cell-group>
<van-cell :title="inner.list" clickable @click="changeItemHandler(item.id, inner.childId, inner.score)">
<template #right-icon>
<van-radio :name="inner.childId"/>
</template>
</van-cell>
</van-cell-group>
</van-radio-group>
</div>
问题:因为事件中没有对v-model绑定的对象进行手动绑定,点击时需要把点击的项重新绑定到v-mode对象中替换之前选中的值。
changeItemHandler(id, childId,score) {
this.$set(this.degreeLevel, id, childId)
}