Skip to content

Switch

Rules

Basic Example

js
const rule = {
    type:"switch",
    title:"Is On Sale",
    field:"is_show",
    value:"1",
    props: {
        checkedValue: "1",
        uncheckedValue: "0",
    },
}

Props Configuration Examples

Custom Values

js
const rule = {
    type:"switch",
    title:"Product Status",
    field:"status",
    value:true,
    props: {
        checkedValue: true,
        uncheckedValue: false,
    }
}

Different Styles

js
const rule = {
    type:"switch",
    title:"Notification Switch",
    field:"notification",
    value:true,
    props: {
        type: "round",
    }
}

Loading State

js
const rule = {
    type:"switch",
    title:"Auto Save",
    field:"autoSave",
    value:false,
    props: {
        loading: false,
    }
}

Different Sizes

js
const rule = {
    type:"switch",
    title:"Switch",
    field:"switch",
    value:true,
    props: {
        size: "small",
    }
}

Events Examples

Handle Switch Changes

js
const rule = {
    type:"switch",
    title:"Is On Sale",
    field:"is_show",
    value:"1",
    props: {
        checkedValue: "1",
        uncheckedValue: "0",
    },
    on: {
        change: (value) => {
            console.log('Switch state changed:', value);
        },
    },
}

Linkage Update Other Fields

js
const rule = [
    {
        type:"switch",
        title:"Enable Discount",
        field:"enableDiscount",
        value:false,
        props: {
            checkedValue: true,
            uncheckedValue: false,
        },
        inject: true,
        on: {
            change: ($inject, value) => {
                // Set default discount rate
                if (value) {
                    $inject.api.setValue('discount', 0.9);
                } else {
                    $inject.api.setValue('discount', 1);
                }
            },
        },
    },
    {
        type:"input-number",
        title:"Discount Rate",
        field:"discount",
        props: {
            min: 0,
            max: 1,
            step: 0.1,
            precision: 2,
            disabled: false,
        },
    },
]

Complete configuration items: arco-design_Switch

value: Number | String

Props

ParameterDescriptionTypeDefaultVersion
disabledWhether disabledbooleanfalse
loadingWhether in loading statebooleanfalse
typeType of switch'circle' | 'round' | 'line''circle'
sizeSize of switch'small' | 'medium''medium'
checked-valueValue when checkedstring|number|booleantrue2.12.0
unchecked-valueValue when uncheckedstring|number|booleanfalse2.12.0
checked-colorSwitch color when checkedstring-2.12.0
unchecked-colorSwitch color when uncheckedstring-2.12.0

Events

Event NameDescriptionParameters
changeTriggered when value changesvalue: union

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