SusRadioGroup

互斥单选组 —— 子级 SusRadio 向组注册;Model 保存选中的值。
包
SusKit · 分子(商业)
属性
| 名称 | 类型 | 默认值 | |
|---|---|---|---|
Model | Prop<string> | "" | v-model |
Label | Prop<string> | "" | v-model |
Disabled | Prop<bool> | false | v-model |
Readonly | Prop<bool> | false | v-model |
Mandatory | Prop<bool> | false | v-model |
Error | Prop<string> | "" | v-model |
插槽
| 名称 |
|---|
(默认) |
事件
| 名称 | 字段 | 载荷 |
|---|---|---|
Change | OnChange | string |
样式钩子
USS 类契约 — 无需改 C# 即可覆盖外观。状态通过这些类切换:
sus-radio-groupsus-radio-group__detailssus-radio-group__labelsus-radio-group--disabledsus-radio-group--errorsus-radio-group--mandatorysus-radio-group--readonly
用法
xml
<template>
<sus:SusRadioGroup Label="Role"
:Model="Role.Value"
:Disabled="Disabled.Value"
:Mandatory="Mandatory.Value"
@change="OnRole">
<sus:SusRadio Label="Admin" Value="admin" Color="primary" />
<sus:SusRadio Label="User" Value="user" Color="primary" />
<sus:SusRadio Label="Guest" Value="guest" Color="primary" />
</sus:SusRadioGroup>
</template>
<script>
public Prop<string> Role = new("user");
public Prop<bool> Disabled = new(false);
public Prop<bool> Mandatory = new(false);
void OnRole(string value) { Role.Value = value; }
</script>csharp
var group = new SusRadioGroup();
group.Label.Value = "Role";
group.Model.Value = "user";
group.Add(new SusRadio { Value = { Value = "admin" }, Label = { Value = "Admin" } });
group.Add(new SusRadio { Value = { Value = "user" }, Label = { Value = "User" } });
group.Add(new SusRadio { Value = { Value = "guest" }, Label = { Value = "Guest" } });
group.OnChange += value => { /* … */ };| Prop | Role |
|---|---|
Model | 选中单选项的 Value |
Label | 单选组上方的标题文字 |
Mandatory | 要求必须选择(Validate) |
Disabled / Readonly | 阻止交互 |
Error | 组下方显示的消息 |
备注
- 子级单选项会在父级上调用
Register/Select—— 请将它们保留在组内(默认插槽 /Add)。 Rules(List<Func<string, string>>)在值变化时运行;表单可使用Validate()/ResetValidation()。- 原子组件文档:SusRadio。