Skip to content

Checkbox

Rules

Basic Example

js
const rule = {
    type:"checkbox",
    title:"Label",
    field:"label",
    value:["1","2","3"],
    options:[
        {value:"1",label:"Easy to Use",disabled:true},
        {value:"2",label:"Convenient",disabled:false},
        {value:"3",label:"Practical",disabled:false},
        {value:"4",label:"Effective",disabled:false},
    ]
}

Props Configuration Examples

Limit Selection Count

js
const rule = {
    type:"checkbox",
    title:"Product Tags",
    field:"tags",
    value:["1"],
    options:[
        {value:"1",label:"Hot Sale"},
        {value:"2",label:"New Product"},
        {value:"3",label:"Recommended"},
    ],
    props: {
        min: 1,
        max: 3,
    }
}

Disabled State

js
const rule = {
    type:"checkbox",
    title:"Permission Settings",
    field:"permissions",
    value:["1"],
    options:[
        {value:"1",label:"View",disabled:false},
        {value:"2",label:"Edit",disabled:true},
        {value:"3",label:"Delete",disabled:true},
    ],
    props: {
        disabled: false,
    }
}

Events Examples

Handle Selection Changes

js
const rule = {
    type:"checkbox",
    title:"Product Tags",
    field:"tags",
    value:["1"],
    options:[
        {value:"1",label:"Hot Sale"},
        {value:"2",label:"New Product"},
        {value:"3",label:"Recommended"},
    ],
    on: {
        'update:value': (value) => {
            console.log('Selection value changed:', value);
        },
    },
}

Linkage Update After Selection

js
const rule = [
    {
        type:"checkbox",
        title:"Product Tags",
        field:"tags",
        value:[],
        options:[
            {value:"1",label:"Hot Sale"},
            {value:"2",label:"New Product"},
            {value:"3",label:"Recommended"},
        ],
        inject: true,
        on: {
            'update:value': ($inject, value) => {
                // Set status based on selected tag count
                if (value.length >= 2) {
                    $inject.api.setValue('status', 'active');
                } else {
                    $inject.api.setValue('status', 'inactive');
                }
            },
        },
    },
    {
        type:"input",
        title:"Product Status",
        field:"status",
        props: {
            disabled: true,
        },
    },
]

Complete configuration items: naive-ui_Checkbox

value :Array

Options

Field NameDescriptionField TypeRequiredDefault Value
valueParameter valueString,Numbertrue-
labelField aliasStringtrue-
disabledSet to disabled stateBooleanfalsefalse

Props

NameTypeDefault ValueDescription
disabledbooleanfalseWhether option group is disabled
maxnumberundefinedMaximum number of checkboxes that can be checked
minnumberundefinedMinimum number of checkboxes that can be checked
on-update:value(value: string | number)undefinedCallback when option group value changes

FormCreate is an open-source project released under the MIT License. Free for personal and commercial use.