Skip to content

Radio 单选框

规则

基础示例

js
const rule = {
    type:"radio",
    title:"是否包邮",
    field:"is_postage",
    value:"0",
    options:[
        {value:"0",label:"不包邮",disabled:false},
        {value:"1",label:"包邮",disabled:true},
    ],
}

Props 配置示例

按钮样式单选框

js
const rule = {
    type:"radio",
    title:"配送方式",
    field:"delivery",
    value:"1",
    options:[
        {value:"1",label:"快递配送"},
        {value:"2",label:"门店自提"},
        {value:"3",label:"同城配送"},
    ],
    props: {
        optionType: "button",
        buttonStyle: "solid",
    },
}

不同尺寸

js
const rule = {
    type:"radio",
    title:"商品状态",
    field:"status",
    value:"1",
    options:[
        {value:"1",label:"上架"},
        {value:"2",label:"下架"},
        {value:"3",label:"待审核"},
    ],
    props: {
        optionType: "button",
        size: "small",
    },
}

Events 事件示例

监听选择变化

js
const rule = {
    type:"radio",
    title:"配送方式",
    field:"delivery",
    value:"1",
    options:[
        {value:"1",label:"快递配送"},
        {value:"2",label:"门店自提"},
        {value:"3",label:"同城配送"},
    ],
    on: {
        change: (e) => {
            console.log('选择值改变:', e.target.value);
        },
    },
}

选择后联动更新

js
const rule = [
    {
        type:"radio",
        title:"配送方式",
        field:"delivery",
        value:"1",
        options:[
            {value:"1",label:"快递配送"},
            {value:"2",label:"门店自提"},
            {value:"3",label:"同城配送"},
        ],
        inject: true,
        on: {
            change: ($inject, e) => {
                // 根据配送方式自动设置运费
                const freightMap = {
                    "1": 10,
                    "2": 0,
                    "3": 5,
                };
                $inject.api.setValue('freight', freightMap[e.target.value] || 0);
            },
        },
    },
    {
        type:"input-number",
        title:"运费",
        field:"freight",
        props: {
            disabled: true,
        },
    },
]

完整配置项:Ant-design-vue_Radio

value :String | Number

Options

字段名说明字段类型是否必填默认值
value参数值String,Numbertrue-
label字段别名Stringtrue-
disabled设置为禁用状态Booleanfalsefalse

Props

参数说明类型默认值
buttonStyleRadioButton 的风格样式,目前有描边和填色两种风格outlinesolid
disabled禁选所有子单选器booleanfalse
nameRadioGroup 下所有 input[type="radio"]name 属性string-
options以配置形式设置子元素string[] | number[] | Array<{ label: string value: string disabled?: boolean }>-
optionType用于设置 Radio options 类型defaultbutton
size大小,只对按钮样式生效largedefault

Events

事件名称说明回调参数
change选项变化时的回调函数Function(e:Event)

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用