amis2/docs/zh-CN/components/form/checkbox.md
2024-04-30 11:13:34 +08:00

6.4 KiB
Executable File
Raw Blame History

title description type group menuName icon order
Checkbox 勾选框 0 null Checkbox 8

用于实现勾选,功能和 Switch 类似,只是展现上不同。

基本用法

{
    "type": "form",
    "body": [
        {
            "name": "checkbox",
            "type": "checkbox",
            "label": "勾选框",
            "option": "选项说明"
        }
    ]
}

配置真假值

默认情况:

  • 勾选框勾选时表单项值为true
  • 勾选框取消勾选时表单项值为false
{
    "type": "form",
    "debug": true,
    "body": [
        {
            "name": "checkbox",
            "type": "checkbox",
            "label": "勾选框",
            "option": "选项说明"
        }
    ]
}

如果你想调整这个值,可以配置trueValuefalseValue

{
    "type": "form",
    "debug": true,
    "body": [
        {
            "name": "checkbox",
            "type": "checkbox",
            "label": "勾选框",
            "option": "选项说明",
            "trueValue": 1,
            "falseValue": 0
        }
    ]
}

勾选上例中的勾选框,观察数据域变化,会发现勾选后值为1,而取消勾选后为0

按钮模式

{
    "type": "form",
    "debug": true,
    "body": [
        {
            "name": "checkbox",
            "type": "checkbox",
            "label": "勾选框",
            "trueValue": true,
            "falseValue": false,
            "optionType": "button",
            "option": "选项说明"
        }
    ]
}

属性表

除了支持 普通表单项属性表 中的配置以外,还支持下面一些配置

属性名 类型 默认值 说明
option string 选项说明
trueValue stringnumberboolean true 标识真值
falseValue stringnumberboolean false 标识假值
optionType defaultbutton default 设置 option 类型

事件表

当前组件会对外派发以下事件,可以通过onEvent来监听这些事件,并通过actions来配置执行的动作,在actions中可以通过${事件参数名}${event.data.[事件参数名]}来获取事件产生的数据,详细请查看事件动作

[name]表示当前组件绑定的名称,即name属性,如果没有配置name属性,则通过value取值。

事件名称 事件参数 说明
change [name]: boolean 组件的值 选中状态变化时触发

change

{
    "type": "form",
    "debug": true,
    "body": [
      {
        "name": "checkbox",
        "type": "checkbox",
        "label": "勾选框",
        "option": "选项说明",
        "onEvent": {
            "change": {
                "actions": [
                    {
                      "actionType": "toast",
                      "args": {
                          "msg": "${event.data.value|json}"
                      }
                    }
                ]
            }
        }
      }
    ]
  }

动作表

当前组件对外暴露以下特性动作,其他组件可以通过指定actionType: 动作名称componentId: 该组件id来触发这些动作,动作配置可以通过args: {动作配置项名称: xxx}来配置具体的参数,详细请查看事件动作

动作名称 动作配置 说明
clear - 清空
reset - 将值重置为初始值。6.3.0 及以下版本为resetValue
setValue value: string |number |boolean 更新的值 更新数据

clear

{
    "type": "form",
    "debug": true,
    "body": [
      {
        "type": "checkbox",
        "label": "选项",
        "name": "type",
        "id": "clear_type",
        "option": "选项说明",
        "value": true
      },
      {
        "type": "button",
        "label": "清空",
        "onEvent": {
            "click": {
                "actions": [
                    {
                      "actionType": "clear",
                      "componentId": "clear_type"
                    }
                ]
            }
        }
      }
    ]
}

reset

如果配置了resetValue,则重置时使用resetValue的值,否则使用初始值。

{
    "type": "form",
    "debug": true,
    "body": [
      {
        "type": "checkbox",
        "label": "选项",
        "name": "type",
        "id": "reset_type",
        "option": "选项说明",
        "value": true
      },
        {
            "type": "button",
            "label": "重置",
            "onEvent": {
                "click": {
                    "actions": [
                        {
                            "actionType": "reset",
                            "componentId": "reset_type"
                        }
                    ]
                }
            }
        }
    ]
}

setValue

{
    "type": "form",
    "debug": true,
    "body": [
      {
        "type": "checkbox",
        "label": "选项",
        "name": "type",
        "id": "setvalue_type",
        "option": "选项说明",
        "value": true
      },
      {
          "type": "button",
          "label": "赋值",
          "onEvent": {
              "click": {
                "actions": [
                    {
                        "actionType": "setValue",
                        "componentId": "setvalue_type",
                        "args": {
                          "value": false
                        }
                    }
                ]
              }
          }
      }
    ]
}