> = (props) => {
},
])}
>
- {!value && !activeText && (
-
+ {changing && loadingIcon ? (
+ <>{loadingIcon}>
+ ) : (
+ <>
+ {!value && !activeText && (
+
+ )}
+ >
)}
{activeText && (
diff --git a/src/sites/sites-react/doc/docs/react/migrate-from-v2.md b/src/sites/sites-react/doc/docs/react/migrate-from-v2.md
index a9cdf02f2f..c83d7d3743 100644
--- a/src/sites/sites-react/doc/docs/react/migrate-from-v2.md
+++ b/src/sites/sites-react/doc/docs/react/migrate-from-v2.md
@@ -225,6 +225,7 @@ plugins: [
- `activeText` 属性类型更改为`ReactNode`
- `inactiveText` 属性类型更改为 `ReactNode`
+- 新增 `loadingIcon` 属性,受控 loading 态图标
[//]: # '#### Toast'
diff --git a/src/sites/sites-react/doc/docs/taro/migrate-from-v2.md b/src/sites/sites-react/doc/docs/taro/migrate-from-v2.md
index 4d673d5814..7211a296e3 100644
--- a/src/sites/sites-react/doc/docs/taro/migrate-from-v2.md
+++ b/src/sites/sites-react/doc/docs/taro/migrate-from-v2.md
@@ -228,6 +228,7 @@ plugins: [
- `activeText` 属性类型更改为`ReactNode`
- `inactiveText` 属性类型更改为 `ReactNode`
+- 新增 `loadingIcon` 属性,受控 loading 态图标
[//]: # '#### Toast'
diff --git a/src/types/spec/switch/base.ts b/src/types/spec/switch/base.ts
index 4ae77ee4a9..156821089c 100644
--- a/src/types/spec/switch/base.ts
+++ b/src/types/spec/switch/base.ts
@@ -1,11 +1,12 @@
import { ReactNode } from 'react'
import { BaseProps } from '../../base/props'
-export interface BaseSwitch
extends BaseProps {
+export interface BaseSwitch extends BaseProps {
checked: boolean
defaultChecked: boolean
disabled: boolean
activeText: ReactNode
inactiveText: ReactNode
- onChange: (val: boolean, event: EVENT) => void
+ loadingIcon: ReactNode
+ onChange: (val: boolean) => void
}
diff --git a/src/types/spec/switch/h5.ts b/src/types/spec/switch/h5.ts
index e7612313ab..83982f8094 100644
--- a/src/types/spec/switch/h5.ts
+++ b/src/types/spec/switch/h5.ts
@@ -1,3 +1,3 @@
import { BaseSwitch } from '../switch/base'
-export interface WebSwitchProps extends BaseSwitch {}
+export interface WebSwitchProps extends BaseSwitch {}
diff --git a/src/types/spec/switch/taro.ts b/src/types/spec/switch/taro.ts
index 62a81eeb2c..2ede77b150 100644
--- a/src/types/spec/switch/taro.ts
+++ b/src/types/spec/switch/taro.ts
@@ -1,5 +1,3 @@
-import { ITouchEvent } from '@tarojs/components'
import { BaseSwitch } from './base'
-type UnionEvent = React.MouseEvent | ITouchEvent
-export interface TaroSwitchProps extends BaseSwitch {}
+export interface TaroSwitchProps extends BaseSwitch {}