欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

多选框

程序员文章站 2022-07-13 23:09:03
...

功能要求

1 .v-model双向绑定
2 .可以添加icon图标
3 .可以多个对应一个,也就是多选
4 .disabled 设置不可选择
5 .全选 。点击全选按钮,三个都是选中状态,点击一个取消,全选那个按钮消失
6 .

改进

1 .去掉使用一组的时候必须使用父组件
2 .传入的值很少

代码

<template>
    <div>
        <div class="checkbox">
            <label v-for="cell in checkArr">
                <input 
                        type="checkbox"
                        v-on:change="handleChange"
                        :value="cell" 
                        v-model="result" >
            </label>
        </div>
        <div class="check_all">

        </div>
        {{result}}
    </div>
</template>
<style lang="less" scoped>

</style>
<script>
export default {
    props:{
        checkArr:{
            type:Array,
            default:[]
        },
        isAll:{
            type:Boolean,
            default:true
        }
    },
    model:{
        event:'change'
//.这里还可以去掉prop:'result',这里他会自动找到父组件绑定的v-model,不知道有没有bug
    },
    data:function(){
        return {
            result:[]
        }
    },
    methods:{
        handleChange(){
            console.log('有变化')
            this.$emit('change',this.result)
        }
    }
}
</script>