vue中怎么通过数组判断Input选中状态

现在用v-if貌似只能显示隐藏,而且也没有选中input

       <div v-for="(item, index) in Data" :key="index">
                    <div class="user-sex">
                        <label><input v-if="item.sex===1? '' : ''" ref="man" type="radio" name="sex" checked="checked">
                            <i></i>男</label>
                        <label><input v-if="item.sex===0? '' : ''" ref="woman" type="radio" name="sex">
                            <i></i>女</label>
                    </div>
       </div>
阅读 4.3k
4 个回答

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>        
    <style type="text/css">

    </style>
</head>
<body>
    <div id="box">        
            <div v-for="(item, index) in items" :key="index">
                    <div class="user-sex">
                        <label><input  ref="man" type="radio" name="sex" :checked="item.val" @change="change">
                            <i></i>男</label>
                        <label><input  ref="woman" type="radio" name="sex" @change="change" :checked="!item.val">
                            <i></i>女</label>
                    </div>
       </div>
        <button @click="sub">提交</button>
    </div>
    <script src="vue.js"></script>
    <script>
        var vm = new  Vue({
            el:"#box",
            data:{                
                items:[{val:true,sex:0}]                  
            },
            methods:{
                sub:function(){
                    console.log(this.items[0].sex);  
                },
                change:function(){
                    this.items[0].sex = (!this.items[0].sex==true)?1:0;
                    
                }
                }
            
        });
    </script>
</body>

</html>

建议你在 Data数组下为每条数据对应的添加一个checked标记,默认为false,再为input绑一个方法,传入它对应的下标,通过下标,去修改data下对应的checked,然后通过便利所有checked,判断其状态,做后续处理

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