amis2/docs/zh-CN/components/form/input-kv.md
hsm-lv 4acfbb99ce
feat:优化动作数据域 (#5544)
* feat:优化事件数据域

* feat:优化事件数据域

* feat:优化事件数据域(option->item,options->items)

* feat:优化事件数据域(version)

* feat:优化事件数据域(修复弹窗事件多次触发&并行数据获取问题)

* feat:优化事件数据域(删除多余代码)

* feat:优化事件数据域(更新文档)

* feat:优化事件数据域(更新文档)

* feat:优化动作数据域

* feat:优化动作数据域
2022-10-12 15:09:03 +08:00

4.2 KiB

title description type group menuName icon order
InputKV 键值对 0 null InputKV 14

基本用法

input-kv 是用来支持对象形式的数据编辑,比如类似这样的数据:

{
  "css": {
    "width": 1,
    "height": 2
  }
}

css 中的 key 是不确定的,没法用 combo 来实现,这时可以使用 input-kv

{
    "type": "form",
    "api": "/api/mock2/form/saveForm",
    "debug": true,
    "body": [
        {
            "type": "input-kv",
            "name": "kv"
        }
    ]
}

最终发送的数据将会是

自定义 value 的格式

key 只能是字符串,因此输入格式是 input-text,但 value 格式可通过 valueType 自定义。

{
    "type": "form",
    "api": "/api/mock2/form/saveForm",
    "debug": true,
    "body": [
        {
            "type": "input-kv",
            "name": "kv",
            "valueType": "input-number"
        }
    ]
}

自定义 value 的默认值

通过 defaultValue 设置默认值

{
    "type": "form",
    "api": "/api/mock2/form/saveForm",
    "debug": true,
    "body": [
        {
            "type": "input-kv",
            "name": "css",
            "defaultValue": "1.0"
        }
    ]
}

关闭可拖拽排序

{
    "type": "form",
    "api": "/api/mock2/form/saveForm",
    "debug": true,
    "body": [
        {
            "type": "input-kv",
            "name": "css",
            "draggable": false
        }
    ]
}

自定义提示信息

{
    "type": "form",
    "api": "/api/mock2/form/saveForm",
    "debug": true,
    "body": [
        {
            "type": "input-kv",
            "name": "css",
            "keyPlaceholder": "属性",
            "valuePlaceholder": "值"
        }
    ]
}

属性表

属性名 类型 默认值 说明
valueType type "input-text" 值类型
keyPlaceholder string key 的提示信息的
valuePlaceholder string value 的提示信息的
draggable boolean true 是否可拖拽排序
defaultValue '' 默认值

事件表

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

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

事件名称 事件参数 说明
add [name]: string | string[] 组件的值 添加组合项时触发
delete key: number 移除项的索引
item: string 移除项
[name]: object 组件的值
删除组合项时触发

动作表

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

动作名称 动作配置 说明
clear - 清空
reset - 将值重置为resetValue,若没有配置resetValue,则清空
setValue value: object 更新的值 更新数据