mirror of
https://gitee.com/baidu/amis.git
synced 2024-11-29 18:48:45 +08:00
Merge pull request #7094 from 2betop/feat-input-kv
feat: input-kv 添加 autoParseJSON 配置 Close: #7092
This commit is contained in:
commit
0290fd67e9
@ -198,13 +198,14 @@ key 只能是字符串,因此输入格式是 `input-text`,但 value 格式
|
||||
|
||||
## 属性表
|
||||
|
||||
| 属性名 | 类型 | 默认值 | 说明 |
|
||||
| ---------------- | --------- | -------------- | ------------------ |
|
||||
| valueType | `type` | `"input-text"` | 值类型 |
|
||||
| keyPlaceholder | `string` | | key 的提示信息的 |
|
||||
| valuePlaceholder | `string` | | value 的提示信息的 |
|
||||
| draggable | `boolean` | true | 是否可拖拽排序 |
|
||||
| defaultValue | | `''` | 默认值 |
|
||||
| 属性名 | 类型 | 默认值 | 说明 |
|
||||
| ---------------- | --------- | -------------- | ---------------------------- |
|
||||
| valueType | `type` | `"input-text"` | 值类型 |
|
||||
| keyPlaceholder | `string` | | key 的提示信息的 |
|
||||
| valuePlaceholder | `string` | | value 的提示信息的 |
|
||||
| draggable | `boolean` | true | 是否可拖拽排序 |
|
||||
| defaultValue | | `''` | 默认值 |
|
||||
| autoParseJSON | `boolean` | `true` | 是否自动转换 json 对象字符串 |
|
||||
|
||||
## 事件表
|
||||
|
||||
|
@ -9,6 +9,7 @@ import {isObject} from 'amis-core';
|
||||
// input-kv 实际上是 combo 的一种扩展
|
||||
addSchemaFilter(function (schema: Schema, renderer, props?: any) {
|
||||
if (schema && schema.type === 'input-kv') {
|
||||
const autoParseJSON = schema.autoParseJSON ?? true;
|
||||
return {
|
||||
draggable: true,
|
||||
...schema,
|
||||
@ -40,7 +41,11 @@ addSchemaFilter(function (schema: Schema, renderer, props?: any) {
|
||||
value.forEach((item: any) => {
|
||||
const key: string = item.key ?? '';
|
||||
let value: any = item.value ?? schema.defaultValue ?? '';
|
||||
if (typeof value === 'string' && value.startsWith('{')) {
|
||||
if (
|
||||
autoParseJSON &&
|
||||
typeof value === 'string' &&
|
||||
value.startsWith('{')
|
||||
) {
|
||||
try {
|
||||
value = JSON.parse(value);
|
||||
} catch (e) {}
|
||||
|
Loading…
Reference in New Issue
Block a user