Skip to content

A2ChoicePicker

多选/单选卡片选择组件,支持 chips 样式和多种配置。

属性

属性类型默认值说明
labelstring-标签文本
optionsarray[]选项列表
variantdefault | mutuallyExclusivedefault选择模式
displayStyledefault | chipsdefault显示样式
requiredbooleanfalse是否必填
disabledbooleanfalse是否禁用
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" }
}

A2UI 文档