chore: 2.7.3版本改为2.8.0 (#6272)

This commit is contained in:
RUNZE LU 2023-02-27 21:39:28 +08:00 committed by GitHub
parent b9c150a07f
commit 0573ef690c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 80 additions and 72 deletions

View File

@ -146,6 +146,6 @@ input-group 配置校验方法较为特殊,需要配置下面步骤:
| ---------------- | ----------------------------------------- | -------- | ----------------------------------------------------- | ------- | | ---------------- | ----------------------------------------- | -------- | ----------------------------------------------------- | ------- |
| className | `string` | | CSS 类名 | | | className | `string` | | CSS 类名 | |
| body | Array<[表单项](./formitem)> | | 表单项集合 | | | body | Array<[表单项](./formitem)> | | 表单项集合 | |
| validationConfig | `Record<'errorMode' \| 'delimiter', any>` | - | 校验相关配置, 具体配置属性如下 | `2.7.3` | | validationConfig | `Record<'errorMode' \| 'delimiter', any>` | - | 校验相关配置, 具体配置属性如下 | `2.8.0` |
| +errorMode | `"full" \| "partial"` | `"full"` | 错误提示风格, `full`整体飘红, `partial`仅错误元素飘红 | `2.7.3` | | +errorMode | `"full" \| "partial"` | `"full"` | 错误提示风格, `full`整体飘红, `partial`仅错误元素飘红 | `2.8.0` |
| +delimiter | `string` | `"; "` | 单个子元素多条校验信息的分隔符 | `2.7.3` | | +delimiter | `string` | `"; "` | 单个子元素多条校验信息的分隔符 | `2.8.0` |

View File

@ -194,7 +194,7 @@ order: 32
## 内容清空时删除字段 ## 内容清空时删除字段
> 2.7.3 及以上版本 > 2.8.0 及以上版本
如果设置了`"clearValueOnEmpty": true`,当输入框的值清空时,会从数据域中删除该表单项对应的值。比较常见的用法是在`combo``input-array`等组件中避免`input-number`清空后提交空字符串。 如果设置了`"clearValueOnEmpty": true`,当输入框的值清空时,会从数据域中删除该表单项对应的值。比较常见的用法是在`combo``input-array`等组件中避免`input-number`清空后提交空字符串。
@ -288,7 +288,7 @@ order: 32
| big | `boolean` | | 是否使用大数 | | big | `boolean` | | 是否使用大数 |
| displayMode | `string` | | 样式类型 | | displayMode | `string` | | 样式类型 |
| resetValue | `number \| string` | `""` | 清空输入内容时,组件值将设置为`resetValue` | | resetValue | `number \| string` | `""` | 清空输入内容时,组件值将设置为`resetValue` |
| clearValueOnEmpty | `boolean` | `false` | 内容为空时从数据域中删除该表单项对应的值 | `2.7.3` | | clearValueOnEmpty | `boolean` | `false` | 内容为空时从数据域中删除该表单项对应的值 | `2.8.0` |
## 事件表 ## 事件表

View File

@ -948,7 +948,7 @@ true false false [{label: 'A/B/C', value: 'a/b/c'},{label: 'A
## 自定义选项渲染 ## 自定义选项渲染
> `2.7.3` 及以上版本 > `2.8.0` 及以上版本
使用`menuTpl`属性,自定义下拉选项的渲染内容。 使用`menuTpl`属性,自定义下拉选项的渲染内容。
@ -998,7 +998,7 @@ true false false [{label: 'A/B/C', value: 'a/b/c'},{label: 'A
## 选项搜索 ## 选项搜索
> `2.7.3` 及以上版本 > `2.8.0` 及以上版本
开启`"searchable": true`后,支持搜索当前数据源内的选项 开启`"searchable": true`后,支持搜索当前数据源内的选项
@ -1071,7 +1071,7 @@ true false false [{label: 'A/B/C', value: 'a/b/c'},{label: 'A
| editApi | [API](../../../docs/types/api) | | [配置编辑选项接口](./options#%E9%85%8D%E7%BD%AE%E7%BC%96%E8%BE%91%E6%8E%A5%E5%8F%A3-editapi) | | editApi | [API](../../../docs/types/api) | | [配置编辑选项接口](./options#%E9%85%8D%E7%BD%AE%E7%BC%96%E8%BE%91%E6%8E%A5%E5%8F%A3-editapi) |
| removable | `boolean` | `false` | [删除选项](./options#%E5%88%A0%E9%99%A4%E9%80%89%E9%A1%B9) | | removable | `boolean` | `false` | [删除选项](./options#%E5%88%A0%E9%99%A4%E9%80%89%E9%A1%B9) |
| deleteApi | [API](../../../docs/types/api) | | [配置删除选项接口](./options#%E9%85%8D%E7%BD%AE%E5%88%A0%E9%99%A4%E6%8E%A5%E5%8F%A3-deleteapi) | | deleteApi | [API](../../../docs/types/api) | | [配置删除选项接口](./options#%E9%85%8D%E7%BD%AE%E5%88%A0%E9%99%A4%E6%8E%A5%E5%8F%A3-deleteapi) |
| searchable | `boolean` | `false` | 是否可检索 | `2.7.3`前仅`tree-select`支持 | | searchable | `boolean` | `false` | 是否可检索 | `2.8.0`前仅`tree-select`支持 |
| hideRoot | `boolean` | `true` | 如果想要显示个顶级节点,请设置为 `false` | | hideRoot | `boolean` | `true` | 如果想要显示个顶级节点,请设置为 `false` |
| rootLabel | `boolean` | `"顶级"` | 当 `hideRoot` 不为 `false` 时有用,用来设置顶级节点的文字。 | | rootLabel | `boolean` | `"顶级"` | 当 `hideRoot` 不为 `false` 时有用,用来设置顶级节点的文字。 |
| showIcon | `boolean` | `true` | 是否显示图标 | | showIcon | `boolean` | `true` | 是否显示图标 |
@ -1094,8 +1094,8 @@ true false false [{label: 'A/B/C', value: 'a/b/c'},{label: 'A
| highlightTxt | `string` | | 标签中需要高亮的字符,支持变量 | | highlightTxt | `string` | | 标签中需要高亮的字符,支持变量 |
| itemHeight | `number` | `32` | 每个选项的高度,用于虚拟渲染 | | itemHeight | `number` | `32` | 每个选项的高度,用于虚拟渲染 |
| virtualThreshold | `number` | `100` | 在选项数量超过多少时开启虚拟渲染 | | virtualThreshold | `number` | `100` | 在选项数量超过多少时开启虚拟渲染 |
| menuTpl | `string` | | 选项自定义渲染 HTML 片段 | `2.7.3` | | menuTpl | `string` | | 选项自定义渲染 HTML 片段 | `2.8.0` |
| enableDefaultIcon | `boolean` | `true` | 是否为选项添加默认的前缀 Icon父节点默认为`folder`,叶节点默认为`file` | `2.7.3` | | enableDefaultIcon | `boolean` | `true` | 是否为选项添加默认的前缀 Icon父节点默认为`folder`,叶节点默认为`file` | `2.8.0` |
## 事件表 ## 事件表

View File

@ -125,7 +125,7 @@ order: 61
## 占位提示 ## 占位提示
> 2.7.3 及以上版本 > 2.8.0 及以上版本
设置`placeholder`属性,可以修改属性控件的默认占位提示文本,当前属性值会和默认值做合并 设置`placeholder`属性,可以修改属性控件的默认占位提示文本,当前属性值会和默认值做合并
@ -160,7 +160,7 @@ order: 61
| showRootInfo | `boolean` | false | 是否显示顶级类型信息 | | showRootInfo | `boolean` | false | 是否显示顶级类型信息 |
| disabledTypes | `Array<string>` | | 用来禁用默认数据类型默认类型有string、number、interger、object、number、array、boolean、null | | disabledTypes | `Array<string>` | | 用来禁用默认数据类型默认类型有string、number、interger、object、number、array、boolean、null |
| definitions | `object` | | 用来配置预设类型 | | definitions | `object` | | 用来配置预设类型 |
| placeholder | `SchemaEditorItemPlaceholder` | `{key: "字段名", title: "名称", description: "描述", default: "默认值", empty: "<空>",}` | 属性输入控件的占位提示文本 | `2.7.3` | | placeholder | `SchemaEditorItemPlaceholder` | `{key: "字段名", title: "名称", description: "描述", default: "默认值", empty: "<空>",}` | 属性输入控件的占位提示文本 | `2.8.0` |
### SchemaEditorItemPlaceholder ### SchemaEditorItemPlaceholder

View File

@ -960,7 +960,7 @@ leftOptions 动态加载,默认 source 接口是返回 options 部分,而 le
## 自定义下拉区域宽度与对齐方式 ## 自定义下拉区域宽度与对齐方式
> 2.7.3 以上版本 > 2.8.0 以上版本
使用字符串或数字,使用数字时单位为`px`;支持单位: `%`、`px`、`rem`、`em`、`vw`。 使用字符串或数字,使用数字时单位为`px`;支持单位: `%`、`px`、`rem`、`em`、`vw`。
@ -1140,7 +1140,7 @@ leftOptions 动态加载,默认 source 接口是返回 options 部分,而 le
| optionClassName | `string` | | 选项 CSS 类名 | | optionClassName | `string` | | 选项 CSS 类名 |
| popOverContainerSelector | `string` | | 弹层挂载位置选择器,会通过`querySelector`获取 | | popOverContainerSelector | `string` | | 弹层挂载位置选择器,会通过`querySelector`获取 |
| clearable | `boolean` | | 是否展示清空图标 | | clearable | `boolean` | | 是否展示清空图标 |
| overlay | `{ width: string \| number, align: "left" \| "center" \| "right" }` | | 弹层宽度与对齐方式 `2.7.3 以上版本` | | overlay | `{ width: string \| number, align: "left" \| "center" \| "right" }` | | 弹层宽度与对齐方式 `2.8.0 以上版本` |
## 事件表 ## 事件表

View File

@ -324,7 +324,7 @@ order: 60
## 自定义选项渲染 ## 自定义选项渲染
> `2.7.3` 及以上版本 > `2.8.0` 及以上版本
使用`menuTpl`属性,自定义下拉选项的渲染内容。 使用`menuTpl`属性,自定义下拉选项的渲染内容。

View File

@ -73,7 +73,7 @@ icon:
### 清除后立即搜索 ### 清除后立即搜索
> `2.7.3` 及以上版本 > `2.8.0` 及以上版本
设置`"clearAndSubmit": true`后,清空搜索框内容后立即执行搜索,与`searchImediately`不同的是,`clearAndSubmit`仅作用于清空输入框的动作,而`searchImediately`会影响所有搜索动作。 设置`"clearAndSubmit": true`后,清空搜索框内容后立即执行搜索,与`searchImediately`不同的是,`clearAndSubmit`仅作用于清空输入框的动作,而`searchImediately`会影响所有搜索动作。
@ -196,7 +196,7 @@ icon:
| className | `string` | | 外层 CSS 类名 | | className | `string` | | 外层 CSS 类名 |
| mini | `boolean` | | 是否为 mini 模式 | | mini | `boolean` | | 是否为 mini 模式 |
| searchImediately | `boolean` | | 是否立即搜索 | | searchImediately | `boolean` | | 是否立即搜索 |
| clearAndSubmit | `boolean` | | 清空搜索框内容后立即执行搜索 | `2.7.3` | | clearAndSubmit | `boolean` | | 清空搜索框内容后立即执行搜索 | `2.8.0` |
## 事件表 ## 事件表

View File

@ -101,7 +101,7 @@ order: 65
## 自定义状态图标、文本、颜色 ## 自定义状态图标、文本、颜色
> 2.7.3 及 以上版本 > 2.8.0 及 以上版本
如果默认提供的状态无法满足业务需求,可使用`source`自定义状态, 如下: 如果默认提供的状态无法满足业务需求,可使用`source`自定义状态, 如下:
@ -126,12 +126,12 @@ order: 65
`source`配置类似于`mapping`映射,不同的`key`值匹配渲染不同状态,支持以下属性: `source`配置类似于`mapping`映射,不同的`key`值匹配渲染不同状态,支持以下属性:
| 属性名 | 类型 | 说明 | | 属性名 | 类型 | 说明 |
| ----------- | -------- | ------------------------------- | | --------- | -------- | ---------------------- |
| label | `string` | 显示文本 | | label | `string` | 显示文本 |
| icon | `string` | 图标, 例如`fa fa-plus` | | icon | `string` | 图标, 例如`fa fa-plus` |
| color | `string` | 状态颜色 | | color | `string` | 状态颜色 |
| className | `string` | 状态的 独立 CSS 类名 | | className | `string` | 状态的 独立 CSS 类名 |
注意:自定义状态会和默认状态合并。 注意:自定义状态会和默认状态合并。
@ -322,15 +322,15 @@ order: 65
## 属性表 ## 属性表
| 属性名 | 类型 | 默认值 | 版本 | 说明 | | 属性名 | 类型 | 默认值 | 版本 | 说明 |
| ----------- | -------- | ------ | --------- | ---------------------- | | ---------------- | -------- | ------ | ----- | ---------------------------------------------------------------- |
| type | `string` | | |`"status"` 指定为 Status 渲染器 | | type | `string` | | | `"status"` 指定为 Status 渲染器 |
| className | `string` | | | 外层 Dom 的 CSS 类名 | | className | `string` | | | 外层 Dom 的 CSS 类名 |
| placeholder | `string` | `-` | | 占位文本 | | placeholder | `string` | `-` | | 占位文本 |
| map | `object` | | 2.3.0 | 映射图标 | | map | `object` | | 2.3.0 | 映射图标 |
| labelMap | `object` | | 2.3.0 | 映射文本 | | labelMap | `object` | | 2.3.0 | 映射文本 |
| source | `object` | | 2.7.3 | 自定义映射状态,支持[数据映射](../../docs/concepts/data-mapping) | | source | `object` | | 2.8.0 | 自定义映射状态,支持[数据映射](../../docs/concepts/data-mapping) |
| source.label | `string` | | 2.7.3 | 映射文本 | | source.label | `string` | | 2.8.0 | 映射文本 |
| source.icon | `string` | | 2.7.3 | 映射图标 | | source.icon | `string` | | 2.8.0 | 映射图标 |
| source.color | `string` | | 2.7.3 | 映射状态颜色 | | source.color | `string` | | 2.8.0 | 映射状态颜色 |
| source.className | `string` | | 2.7.3 | 映射状态的 独立 CSS 类名 | | source.className | `string` | | 2.8.0 | 映射状态的 独立 CSS 类名 |

View File

@ -1841,7 +1841,7 @@ popOver 的其它配置请参考 [popover](./popover)
| prefixRow | `Array` | | 顶部总结行 | | | prefixRow | `Array` | | 顶部总结行 | |
| affixRow | `Array` | | 底部总结行 | | | affixRow | `Array` | | 底部总结行 | |
| itemBadge | [`BadgeSchema`](./badge) | | 行角标配置 | | | itemBadge | [`BadgeSchema`](./badge) | | 行角标配置 | |
| autoFillHeight | `boolean``{height: number}``{maxHeight: number}` | | 内容区域自适应高度,可选择自适应、固定高度和最大高度 | `maxHeight` 需要 `2.7.3` 以上版本 | | autoFillHeight | `boolean``{height: number}``{maxHeight: number}` | | 内容区域自适应高度,可选择自适应、固定高度和最大高度 | `maxHeight` 需要 `2.8.0` 以上版本 |
| resizable | `boolean` | `true` | 列宽度是否支持调整 | | | resizable | `boolean` | `true` | 列宽度是否支持调整 | |
| selectable | `boolean` | `false` | 支持勾选 | | | selectable | `boolean` | `false` | 支持勾选 | |
| multiple | `boolean` | `false` | 勾选 icon 是否为多选样式`checkbox` 默认为`radio` | | | multiple | `boolean` | `false` | 勾选 icon 是否为多选样式`checkbox` 默认为`radio` | |

View File

@ -1,7 +1,13 @@
import React from 'react'; import React from 'react';
import merge from 'lodash/merge'; import merge from 'lodash/merge';
import assign from 'lodash/assign'; import assign from 'lodash/assign';
import {generateIcon, isPureVariable, Renderer, RendererProps, resolveVariableAndFilter} from 'amis-core'; import {
generateIcon,
isPureVariable,
Renderer,
RendererProps,
resolveVariableAndFilter
} from 'amis-core';
import {filter} from 'amis-core'; import {filter} from 'amis-core';
import {Icon} from 'amis-ui'; import {Icon} from 'amis-ui';
import {BaseSchema} from '../Schema'; import {BaseSchema} from '../Schema';
@ -13,7 +19,7 @@ export interface StatusSource {
label?: string; label?: string;
color?: string; color?: string;
className?: string; className?: string;
} };
} }
/** /**
@ -34,7 +40,7 @@ export interface StatusSchema extends BaseSchema {
/** /**
* *
* @deprecated 2.7.3 * @deprecated 2.8.0
* @default { * @default {
* 0: 'svg-fail', * 0: 'svg-fail',
* 1: 'svg-success', * 1: 'svg-success',
@ -51,7 +57,7 @@ export interface StatusSchema extends BaseSchema {
/** /**
* *
* @deprecated 2.7.3 * @deprecated 2.8.0
* @default { * @default {
* success: '成功', * success: '成功',
* pending: '运行中', * pending: '运行中',
@ -67,7 +73,7 @@ export interface StatusSchema extends BaseSchema {
/** /**
* *
* icon并且配置颜色 * icon并且配置颜色
* 2.7.3 * 2.8.0
*/ */
source?: StatusSource; source?: StatusSource;
} }
@ -114,20 +120,22 @@ export class StatusField extends React.Component<StatusProps, object> {
// 兼容旧版 // 兼容旧版
let oldSource: StatusSource = {}; let oldSource: StatusSource = {};
map && Object.entries(map).forEach(([value, icon]) => { map &&
if (!oldSource[value]) { Object.entries(map).forEach(([value, icon]) => {
oldSource[value] = {icon}; if (!oldSource[value]) {
} else { oldSource[value] = {icon};
oldSource[value] = {...oldSource[value], icon}; } else {
} oldSource[value] = {...oldSource[value], icon};
}); }
labelMap && Object.entries(labelMap).forEach(([value, label]) => { });
if (!oldSource[value]) { labelMap &&
oldSource[value] = {label}; Object.entries(labelMap).forEach(([value, label]) => {
} else { if (!oldSource[value]) {
oldSource[value] = {...oldSource[value], label}; oldSource[value] = {label};
} } else {
}); oldSource[value] = {...oldSource[value], label};
}
});
// 合并source // 合并source
let source = this.props.source || {}; let source = this.props.source || {};
@ -154,10 +162,7 @@ export class StatusField extends React.Component<StatusProps, object> {
if (!status.icon && !status.label) { if (!status.icon && !status.label) {
return ( return (
<span className={cx( <span className={cx('StatusField', className)} style={style}>
'StatusField',
className
)} style={style}>
<span className="text-muted" key="status-value"> <span className="text-muted" key="status-value">
{placeholder} {placeholder}
</span> </span>
@ -210,15 +215,18 @@ export class StatusField extends React.Component<StatusProps, object> {
} }
return ( return (
<span className={cx( <span
'StatusField', className={cx(
wrapClassName, 'StatusField',
className, wrapClassName,
status.className className,
)} style={{ status.className
...style, )}
...(status.color ? {color: filter(status.color, data)} : {}) style={{
}}> ...style,
...(status.color ? {color: filter(status.color, data)} : {})
}}
>
{iconElement} {iconElement}
{labelElement} {labelElement}
</span> </span>