amis/docs/renderers/Form/Button-Group.md

106 lines
2.9 KiB
Markdown
Raw Normal View History

2019-06-04 20:13:40 +08:00
### Button-Group(FormItem)
2019-05-08 22:55:41 +08:00
按钮集合,直接看示例吧。
- `type` 请设置成 `button-group`
- `buttons` 配置按钮集合。
```schema:height="200" scope="form"
[
{
"type": "text",
"name": "test",
"label": "Text"
},
{
"type": "button-toolbar",
"buttons": [
{
"type": "button-group",
"buttons": [
{
"type": "button",
"label": "Button",
"actionType": "dialog",
"dialog": {
"confirmMode": false,
"title": "提示",
"body": "对,你刚点击了!"
}
},
{
"type": "submit",
"label": "Submit"
},
{
"type": "reset",
"label": "Reset"
}
]
},
{
"type": "submit",
"icon": "fa fa-check text-success"
},
{
"type": "reset",
"icon": "fa fa-times text-danger"
}
]
}
]
```
button-group 有两种模式,除了能让按钮组合在一起,还能做类似于单选功能。
当不配置 buttons 属性时,就可以当复选框用。
- `options` 选项配置,类型为数组,成员格式如下。
- `label` 文字
- `value`
2019-07-11 13:45:10 +08:00
- `image` 图片的 `http` 地址。
- `source` Api 地址,如果选项不固定,可以通过配置 `source` 动态拉取。
2019-05-08 22:55:41 +08:00
- `multiple` 默认为 `false`, 设置成 `true` 表示可多选。
- `joinValues` 默认为 `true`
- 单选模式:当用户选中某个选项时,选项中的 value 将被作为该表单项的值提交,否则,整个选项对象都会作为该表单项的值提交。
- 多选模式:选中的多个选项的 `value` 会通过 `delimiter` 连接起来,否则直接将以数组的形式提交值。
- `delimiter` 默认为 `,`
2019-07-11 13:45:10 +08:00
- `extractValue` 默认为 `false`, `joinValues`设置为`false`时生效, 开启后将选中的选项 `value` 的值封装为数组,作为当前表单项的值。
2019-05-08 22:55:41 +08:00
- `clearable` 默认为 `true`, 表示可以取消选中。
2019-07-11 13:45:10 +08:00
- `size` 按钮大小,从小到大依次为`xs, sm, md, lg`
- `disabled` 是否禁用`options` 中选项
2019-08-19 13:13:51 +08:00
- `autoFill` 将当前已选中的选项的某个字段的值自动填充到表单中某个表单项中,只在单选时有效
2019-08-19 13:58:29 +08:00
- `autoFill`的格式为`{address: "${label}"}`,表示将选中项中的`label`的值,自动填充到当前表单项中`name` 为`address` 中
2019-07-15 23:42:22 +08:00
- **还有更多通用配置请参考** [FormItem](./FormItem.md)
2019-05-08 22:55:41 +08:00
```schema:height="250" scope="form"
[
{
"type": "button-group",
"name": "select",
"label": "单选",
"options": [
{
"label": "Option A",
"value": "a"
},
{
"label": "Option B",
"value": "b"
}
]
},
{
"type": "static",
"name": "select",
"label": "当前值"
}
]
```