Skip to content

RadioGroup 单选框组 ​

单选框组组件,基于 Vant RadioGroup + Radio + Field 组件实现。

类型标识 ​

  • t: 'radio-group'

额外 Props ​

属性名类型默认值描述
labelstring-输入框左侧文本
radioGroupPropsPartial<RadioGroupProps>-VanRadioGroup 组件的属性
radioGroupOnobject{}VanRadioGroup 组件的事件
labelKeystring'label'显示的标签
valueKeystring'value'提交的值
cancelableboolean-是否可取消选中
radioPropsPartial<RadioProps>-VanRadio 组件的属性
radioOnobject{}VanRadio 组件的事件
radioSlotsRadioSlots-VanRadio 组件的插槽

RadioSlots ​

插槽名绑定值描述
default{ checked, disabled, item } & CommonSlotsProps自定义文本
icon{ checked, disabled, item } & CommonSlotsProps自定义图标

Slots ​

支持所有 CommonSlots 插槽。

示例 ​

基础用法 ​

typescript
const formConfig = defineOption([
    {
        field: 'gender',
        t: 'radio-group',
        label: '性别',
        options: [
            { label: '男', value: 'male' },
            { label: '女', value: 'female' },
        ],
    },
]);

自定义选项键名 ​

typescript
const formConfig = defineOption([
    {
        field: 'status',
        t: 'radio-group',
        label: '状态',
        labelKey: 'name',
        valueKey: 'id',
        options: [
            { name: '启用', id: 1 },
            { name: '禁用', id: 0 },
        ],
    },
]);

自定义选项插槽 ​

tsx
const formConfig = defineOption([
    {
        field: 'gender',
        t: 'radio-group',
        label: '性别',
        options: genderList,
        radioSlots: {
            icon: ({ checked, item }) => (
                checked
                    ? <VanIcon name="success" color="#1989fa" />
                    : <VanIcon name="circle" />
            ),
        },
    },
]);