vue中如何判斷radio是否選中

沐橙
2567
2021-04-20 09:38:39
欄目: 編程語言

vue中判斷radio是否選中的方法:1、設(shè)置v-model方法進(jìn)行判斷;2、給vue定義一個(gè)radio數(shù)組list,在list中每項(xiàng)設(shè)置一個(gè)isCheck標(biāo)識(shí)進(jìn)行判斷即可。

vue中如何判斷radio是否選中

方法1:

設(shè)置v-model方法進(jìn)行判斷,代碼示例如下。

<!DOCTYPE html>  

<html>  

<head>  

    <meta charset="utf-8">  

    <title>test</title>  

    <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>  

</head>  

<body>  

    <div id='app'>

      <input type="radio" name="test" v-for="(item,index) in list" :value="item.value" v-model="checkedValue">

      <button @click="test">獲取選中的值</button>

    </div>

<script>

var vm = new Vue({

  el:'#app', 

  data(){

    return{

      checkedValue:'',

      list:[{value:1},{value:2},{value:3}]

    }

  },

  methods:{

    test(){

      console.log('被選中的值為:'+this.checkedValue)

    }

  }

});

</script>

</body>  

</html>

方法2:

如果不想每次點(diǎn)擊都判斷,那就提供一個(gè)思路,定義一個(gè)radio數(shù)組list,每項(xiàng)設(shè)置一個(gè)isCheck標(biāo)識(shí),循環(huán)該數(shù)組渲染radio,點(diǎn)擊按鈕時(shí)再統(tǒng)一去判斷

<!DOCTYPE html>  

<html>  

<head>  

    <meta charset="utf-8">  

    <title>test</title>  

    <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>  

</head>  

<body>  

    <div id='app'>

      <input type="radio" name="test" v-for="(item,index) in list" :value="item.value" :checked="item.isCheck" @change="changeInput(index)">

      <button @click="test">獲取選中的值</button>

    </div>

<script>

var vm = new Vue({

  el:'#app', 

  data(){

    return{

      list:[{value:1,isCheck:false},{value:2,isCheck:false},{value:3,isCheck:false}]

    }

  },

  methods:{

    changeInput(index){

      this.list.map((v,i)=>{ 

        if(i==index){

          v.isCheck = true

        }else{

          v.isCheck = false

        }

      })

    },

    test(){

      this.list.map((v,i)=>{

        if(v.isCheck){

          console.log('被選中的值為:'+v.value)

        }

      })

    }

  }

});

</script>

</body>  

</html>

0