mirror of
https://gitee.com/baidu/amis.git
synced 2024-11-29 18:48:45 +08:00
chore: mapping 远程字段支持 data 直接返回数组情况 (#7061)
This commit is contained in:
parent
ca9b8ecc30
commit
f745a4ebb0
@ -47,7 +47,8 @@ order: 57
|
|||||||
|
|
||||||
## 渲染其它组件
|
## 渲染其它组件
|
||||||
|
|
||||||
映射的值也可以是 amis schema,渲染其它组件
|
映射的值也可以是 amis schema,渲染其它组件
|
||||||
|
|
||||||
> 配置了`itemSchema`后,映射值不会再作为`schema`渲染
|
> 配置了`itemSchema`后,映射值不会再作为`schema`渲染
|
||||||
|
|
||||||
```schema
|
```schema
|
||||||
@ -81,6 +82,7 @@ order: 57
|
|||||||
当映射值是`非object`时,可使用`${item}`获取映射值;
|
当映射值是`非object`时,可使用`${item}`获取映射值;
|
||||||
|
|
||||||
### html 或字符串模板
|
### html 或字符串模板
|
||||||
|
|
||||||
使用`${item}` 获取映射值
|
使用`${item}` 获取映射值
|
||||||
|
|
||||||
```schema
|
```schema
|
||||||
@ -100,7 +102,8 @@ order: 57
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### SchemaNode模板
|
### SchemaNode 模板
|
||||||
|
|
||||||
```schema
|
```schema
|
||||||
{
|
{
|
||||||
"type": "page",
|
"type": "page",
|
||||||
@ -189,14 +192,14 @@ order: 57
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"type": "mapping",
|
"type": "mapping",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"map": {
|
"map": {
|
||||||
"1": "第一",
|
"1": "第一",
|
||||||
"2": "第二",
|
"2": "第二",
|
||||||
"3": "第三",
|
"3": "第三",
|
||||||
"*": "其他"
|
"*": "其他"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -208,45 +211,37 @@ order: 57
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"type": "mapping",
|
"type": "mapping",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"map": [
|
"map": [{"1": "第一"}, {"2": "第二"}, {"3": "第三"}, {"*": "其他"}]
|
||||||
{"1": "第一"},
|
|
||||||
{"2": "第二"},
|
|
||||||
{"3": "第三"},
|
|
||||||
{"*": "其他"}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 多key对象数组
|
#### 多 key 对象数组
|
||||||
|
|
||||||
当映射值有多个key时,需要使用`valueField`指定字段作为`mapping`的`key`, 也就是用来匹配`value`的值
|
当映射值有多个 key 时,需要使用`valueField`指定字段作为`mapping`的`key`, 也就是用来匹配`value`的值
|
||||||
可使用`labelField`指定展示字段,不配置时,默认为`label`
|
可使用`labelField`指定展示字段,不配置时,默认为`label`
|
||||||
**注意:**配置`labelField`后,映射值无法再作为`schema`渲染
|
**注意:**配置`labelField`后,映射值无法再作为`schema`渲染
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"type": "mapping",
|
"type": "mapping",
|
||||||
"value": "happy",
|
"value": "happy",
|
||||||
"valueField": "name",
|
"valueField": "name",
|
||||||
"map": [
|
"map": [
|
||||||
{
|
{
|
||||||
"name": "happy",
|
"name": "happy",
|
||||||
"label": "开心",
|
"label": "开心"
|
||||||
"color": "red"
|
},
|
||||||
},
|
{
|
||||||
{
|
"name": "sad",
|
||||||
"name": "sad",
|
"label": "悲伤"
|
||||||
"label": "悲伤",
|
},
|
||||||
"color": "blue"
|
{
|
||||||
},
|
"name": "*",
|
||||||
{
|
"label": "其他"
|
||||||
"name": "*",
|
}
|
||||||
"label": "其他",
|
]
|
||||||
"color": "gray"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -473,12 +468,12 @@ List 的内容、Card 卡片的内容配置同上
|
|||||||
|
|
||||||
## 属性表
|
## 属性表
|
||||||
|
|
||||||
| 属性名 | 类型 | 默认值 | 说明 |
|
| 属性名 | 类型 | 默认值 | 说明 |
|
||||||
| ----------- | ----------------- | ------ | --------------------------------------------------------------------------------- |
|
| ----------- | --------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| className | `string` | | 外层 CSS 类名 |
|
| className | `string` | | 外层 CSS 类名 |
|
||||||
| placeholder | `string` | | 占位文本 |
|
| placeholder | `string` | | 占位文本 |
|
||||||
| map | `object`或`Array<object>` | | 映射配置 |
|
| map | `object`或`Array<object>` | | 映射配置 |
|
||||||
| source | `string` or `API` | | [API](../../../docs/types/api) 或 [数据映射](../../../docs/concepts/data-mapping) |
|
| source | `string` or `API` | | [API](../../../docs/types/api) 或 [数据映射](../../../docs/concepts/data-mapping) |
|
||||||
| valueField | `string` | value | `2.5.2` map或source为`Array<object>`时,用来匹配映射的字段名 |
|
| valueField | `string` | value | `2.5.2` map 或 source 为`Array<object>`时,用来匹配映射的字段名 |
|
||||||
| labelField | `string` | label | `2.5.2` map或source为`Array<object>`时,用来展示的字段名<br />注:配置后映射值无法作为`schema`组件渲染 |
|
| labelField | `string` | label | `2.5.2` map 或 source 为`Array<object>`时,用来展示的字段名<br />注:配置后映射值无法作为`schema`组件渲染 |
|
||||||
| itemSchema | `string`或[SchemaNode](../../docs/types/schemanode) | | `2.5.2` 自定义渲染模板,支持`html`或`schemaNode`;<br /> 当映射值是`非object`时,可使用`${item}`获取映射值;<br />当映射值是`object`时,可使用映射语法: `${xxx}`获取`object`的值;<br /> 也可使用数据映射语法:`${xxx}`获取数据域中变量值。|
|
| itemSchema | `string`或[SchemaNode](../../docs/types/schemanode) | | `2.5.2` 自定义渲染模板,支持`html`或`schemaNode`;<br /> 当映射值是`非object`时,可使用`${item}`获取映射值;<br />当映射值是`object`时,可使用映射语法: `${xxx}`获取`object`的值;<br /> 也可使用数据映射语法:`${xxx}`获取数据域中变量值。 |
|
||||||
|
@ -87,7 +87,11 @@ export const Store = StoreNode.named('MappingStore')
|
|||||||
const data = normalizeApiResponseData(ret.data);
|
const data = normalizeApiResponseData(ret.data);
|
||||||
|
|
||||||
(self as any).setMap(
|
(self as any).setMap(
|
||||||
Array.isArray(data.options) ? data.options : data
|
Array.isArray(data.options)
|
||||||
|
? data.options
|
||||||
|
: Array.isArray(data.items)
|
||||||
|
? data.items
|
||||||
|
: data
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
throw new Error(ret.msg || 'fetch error');
|
throw new Error(ret.msg || 'fetch error');
|
||||||
|
Loading…
Reference in New Issue
Block a user