From 151ebfdcb5313d8e7046cc8f279c1d221f50d2a2 Mon Sep 17 00:00:00 2001 From: allenve Date: Fri, 21 Apr 2023 10:43:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20issue-6546:=20spinner=20icon=20=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E6=97=A0=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/zh-CN/components/spinner.md | 32 ++++++++++----------- packages/amis-ui/src/components/Spinner.tsx | 4 +-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/zh-CN/components/spinner.md b/docs/zh-CN/components/spinner.md index aa7b4762b..eaa2d8804 100755 --- a/docs/zh-CN/components/spinner.md +++ b/docs/zh-CN/components/spinner.md @@ -196,22 +196,22 @@ body: { } ``` -在这个例子中,`service` 会先进入 `loading` ,5秒后 `page` 组件开始 `loading` +在这个例子中,`service` 会先进入 `loading` ,5 秒后 `page` 组件开始 `loading` ## 属性表 -| 属性名 | 类型 | 默认值 | 说明 | -| -------------------- | ----------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| type | `string` | `spinner` | 指定为 Spinner 渲染器 | -| show | `boolean` | `true` | 是否显示 spinner 组件 | -| className | `string` | | spinner 图标父级标签的自定义 class | -| spinnerClassName | `string` | | 组件中 icon 所在标签的自定义 class | -| spinnerWrapClassName | `string` | | 作为容器使用时组件最外层标签的自定义 class | -| size | `string` | | 组件大小 `sm` `lg` | -| icon | `string` | | 组件图标,可以是`amis`内置图标,也可以是字体图标或者网络图片链接,作为 ui 库使用时也可以是自定义组件 | -| tip | `string` | | 配置组件文案,例如`加载中...` | -| tipPlacement | `top`, `right`, `bottom`, `left` | `bottom` | 配置组件 `tip` 相对于 `icon` 的位置 | -| delay | `number` | `0` | 配置组件显示延迟的时间(毫秒) | -| overlay | `boolean` | `true` | 配置组件显示 spinner 时是否显示遮罩层 | -| body | [SchemaNode](../../docs/types/schemanode) | | 作为容器使用时,被包裹的内容 | -| loadingConfig | `{root?: string}` | | 为 `Spinner` 指定挂载的容器, `root` 是一个selector,在拥有`Spinner`的组件上都可以通过传递`loadingConfig`改变Spinner的挂载位置,开启后,会强制开启属性`overlay=true` | +| 属性名 | 类型 | 默认值 | 说明 | +| -------------------- | ----------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| type | `string` | `spinner` | 指定为 Spinner 渲染器 | +| show | `boolean` | `true` | 是否显示 spinner 组件 | +| className | `string` | | spinner 图标父级标签的自定义 class | +| spinnerClassName | `string` | | 组件中 icon 所在标签的自定义 class | +| spinnerWrapClassName | `string` | | 作为容器使用时组件最外层标签的自定义 class | +| size | `string` | | 组件大小 `sm` `lg` | +| icon | `string` | | 组件图标,可以是`amis`内置图标,也可以是字体图标或者网络图片链接,作为 ui 库使用时也可以是自定义组件 | +| tip | `string` | | 配置组件文案,例如`加载中...` | +| tipPlacement | `top`, `right`, `bottom`, `left` | `bottom` | 配置组件 `tip` 相对于 `icon` 的位置 | +| delay | `number` | `0` | 配置组件显示延迟的时间(毫秒) | +| overlay | `boolean` | `true` | 配置组件显示 spinner 时是否显示遮罩层 | +| body | [SchemaNode](../../docs/types/schemanode) | | 作为容器使用时,被包裹的内容 | +| loadingConfig | `{root?: string}` | | 为 `Spinner` 指定挂载的容器, `root` 是一个 selector,在拥有`Spinner`的组件上都可以通过传递`loadingConfig`改变 Spinner 的挂载位置,开启后,会强制开启属性`overlay=true`,并且`icon`会失效 | diff --git a/packages/amis-ui/src/components/Spinner.tsx b/packages/amis-ui/src/components/Spinner.tsx index c2463879b..ca90a79f2 100644 --- a/packages/amis-ui/src/components/Spinner.tsx +++ b/packages/amis-ui/src/components/Spinner.tsx @@ -193,8 +193,8 @@ export class Spinner extends React.Component< tipPlacement = '', loadingConfig } = this.props; - // 调整挂载位置时使用默认loading - const icon = loadingConfig?.root ? iconConfig : ''; + // 定义了挂载位置时只能使用默认icon + const icon = loadingConfig?.root ? undefined : iconConfig; const isCustomIcon = icon && React.isValidElement(icon); const timeout = {enter: delay, exit: 0};