vue标签之radio取value值

本文转自https://blog.csdn.net/weixin_43233914/article/details/85237658,转载请注明出处

本文使用了lable关联选中,实际使用中如果不需要,直接将循环语句 v-for 写在 input标签上就可以

1、使用v-for循环的radio单选框
需要注意的是,这是使用的是 change 事件,而不是 click 点击事件

<template>
  <div>
    <label v-for="(item, index) in radioData" :key="index">
      <input
        type="radio"
        v-model="radioVal"
        :value="item.value"
        @change="getRadioVal"
      />
      {{ item.value }}
    </label>
  </div>
</template>

<script>
export default {
  data() {
    return {
      radioData: [
        { value: '全部' },
        { value: '部分' },
        { value: '零散' }
      ],
      radioVal: '全部' // 用于设置默认选中项
    };
  },
  methods: {
    getRadioVal() {
      console.log(this.radioVal);
    }
  }
};
</script>

2、不使用v-for循环的radio单选框
需要注意的是,这是使用的是 change 事件,而不是 click 点击事件

<template>
  <div>
    <label><input v-model="radioVal" type="radio" value="全部" @change="getRadioVal">全部</label>
    <label><input v-model="radioVal" type="radio" value="部分" @change="getRadioVal">部分</label>
    <label><input v-model="radioVal" type="radio" value="零散" @change="getRadioVal">零散</label>
  </div>
</template>
<script>
export default {
  data() {
    return {
      radioVal: '全部' // 用于设置默认选中项
    };
  },
  methods: {
    getRadioVal() { 
      console.log(this.radioVal);
    }
  }
};
</script>

点击每一项获得当前项的value值,使用v-for 和不使用v-for 实现的效果是一样的
这里就不分开写效果图了
vue标签之radio取value值