A2ChoicePicker
多选/单选卡片选择组件,支持 chips 样式和多种配置。
属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
label | string | - | 标签文本 |
options | array | [] | 选项列表 |
variant | default | mutuallyExclusive | default | 选择模式 |
displayStyle | default | chips | default | 显示样式 |
required | boolean | false | 是否必填 |
disabled | boolean | false | 是否禁用 |
value | { path: string, default?: any } | - | 数据绑定路径与默认值 |
选项配置
typescript
interface ChoiceOption {
label: string // 显示文本
value: string | number // 选项值
description?: string // 描述文本(可选)
disabled?: boolean // 是否禁用(可选)
}扁平格式默认值
在扁平格式中,通过 value.default 设置默认选中项:
- 多选模式:传入选项值数组,如
["internet", "email"] - 单选模式:传入单个选项值,如
"internet"
json
{
"id": "picker",
"component": "ChoicePicker",
"variant": "mutuallyExclusive",
"choiceOptions": [
{ "label": "外网访问", "value": "internet" },
{ "label": "邮件收发", "value": "email" }
],
"value": { "path": "/form/permission", "default": "internet" }
}多选默认值
多选模式下,value.default 需要传入数组:
json
{
"component": "ChoicePicker",
"choiceOptions": [
{ "label": "选项一", "value": "opt1" },
{ "label": "选项二", "value": "opt2" }
],
"value": { "path": "/form/choices", "default": ["opt1", "opt2"] }
}选择模式
多选模式 (default)
用户可以选择多个选项。
单选模式 (mutuallyExclusive)
用户只能选择一个选项,点击新选项会自动取消之前的选中。
基础示例
单选模式示例
带描述的选项
必填与禁用状态
JSON Schema
json
{
"id": "pickerId",
"component": "ChoicePicker",
"label": "选择选项",
"variant": "mutuallyExclusive",
"displayStyle": "chips",
"required": true,
"options": [
{ "label": "选项一", "value": "opt1", "description": "描述一" },
{ "label": "选项二", "value": "opt2" },
{ "label": "禁用选项", "value": "opt3", "disabled": true }
],
"value": { "path": "/form/choice" }
}