<input name="item.name" type="radio" > 数据绑定问题

<tr >
  <th>名称</th>
  <th>价格</th>
  <th>是否选中</th>
</tr>
<tr item in data>
  <td>{{item.name}}</td>
  <td>{{item.price}}</td>
  <td>
    <input name="bm" type="radio" >
     <input  name="item.name" type="radio" :checked="item.isChecked" />
  </td>
</tr>

<script>
  data(){
      return{
          data:[
            {name:"苹果",price:"5.0",isChecked:false},
            {name:"西瓜",price:"6.0",isChecked:false},
            {name:"雪梨",price:"8.0",isChecked:true},
           ]
      }
  }
</script>

这样绑定,isChecked:true 的数据,单选框默认选中,但是现在需要,选中哪一个单选框,哪一个数据中的isChecked就要为 true ,请问要怎么样去操作绑定,求助!!

阅读 3.4k
2 个回答
          <input  name="item.name" type="radio" :checked="item.isChecked" @click="updateCheck(item)"/>

  methods: {
    updateCheck(item) {
      /* eslint no-param-reassign: ["error", { "props": false }] */
      item.isChecked = !this.isChecked;
    },
  },

使用v-model绑定数据,修改如下

<input  name="item.name" type="radio" v-model="item.isChecked" />

另外看你这个需求input的类型应该是用checkbox而不是radio吧,这只是个建议,感觉checkbox更合适。
Vue v-model demo

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题