From d7e7d86aeb68edb776da93cae1b90921af7191d2 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Fri, 21 Mar 2025 15:23:41 +0800
Subject: [PATCH 01/11] =?UTF-8?q?fix(badge):=20=E8=A7=A3=E5=86=B3=E4=B8=AD?=
=?UTF-8?q?=E6=96=87=E5=81=8F=E4=B8=8A=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/packages/badge/badge.scss | 11 +++--------
src/styles/variables.scss | 2 +-
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/src/packages/badge/badge.scss b/src/packages/badge/badge.scss
index 5f904fd2f7..37ae9f41ed 100644
--- a/src/packages/badge/badge.scss
+++ b/src/packages/badge/badge.scss
@@ -1,6 +1,8 @@
.nut-badge {
position: relative;
display: inline-flex;
+ vertical-align: middle;
+ box-sizing: content-box;
width: auto;
&-icon {
@@ -37,8 +39,7 @@
&-sup {
display: inline-flex;
- justify-content: center;
- height: $badge-height;
+ text-align: center;
min-width: $badge-min-width;
padding: $badge-padding;
box-sizing: border-box;
@@ -54,12 +55,6 @@
&-number {
font-family: 'JD';
- /* #ifdef harmony */
- line-height: 12px;
- /* #endif */
- /* #ifndef harmony */
- line-height: 13px;
- /* #endif */
}
&-one {
diff --git a/src/styles/variables.scss b/src/styles/variables.scss
index 3276b5699d..c8fe50c1eb 100644
--- a/src/styles/variables.scss
+++ b/src/styles/variables.scss
@@ -1616,7 +1616,7 @@ $badge-background-color: var(
$color-primary
) !default;
$badge-color: var(--nutui-badge-color, $color-primary-text) !default;
-$badge-font-size: var(--nutui-badge-font-size, $font-size-xxs) !default;
+$badge-font-size: var(--nutui-badge-font-size, 9px) !default;
$badge-border: var(
--nutui-badge-border,
1px solid $color-primary-text
From 532e0e187236ba9507f093e6749e4ef19eaf9393 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Fri, 21 Mar 2025 18:22:42 +0800
Subject: [PATCH 02/11] =?UTF-8?q?fix:=20css=20=E5=8F=98=E9=87=8F=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/styles/theme-dark.scss | 2 ++
src/styles/theme-default.scss | 2 ++
src/styles/variables.scss | 3 ++-
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/styles/theme-dark.scss b/src/styles/theme-dark.scss
index fc2d1e52dc..ee7ac42279 100644
--- a/src/styles/theme-dark.scss
+++ b/src/styles/theme-dark.scss
@@ -215,6 +215,8 @@ page {
--nutui-font-size-26: 26px;
// 字号语义化
+ // 徽标文字
+ --nutui-font-size-xxxs: var(--nutui-font-size-9);
// 标签内文字
--nutui-font-size-xxs: var(--nutui-font-size-10);
// 导购或信息密集的次要内容、辅助信息
diff --git a/src/styles/theme-default.scss b/src/styles/theme-default.scss
index d1e9ee607d..a80bd66250 100644
--- a/src/styles/theme-default.scss
+++ b/src/styles/theme-default.scss
@@ -214,6 +214,8 @@ page {
--nutui-font-size-26: 26px;
// 字号语义化
+ // 徽标文字
+ --nutui-font-size-xxxs: var(--nutui-font-size-9);
// 标签内文字
--nutui-font-size-xxs: var(--nutui-font-size-10);
// 导购或信息密集的次要内容、辅助信息
diff --git a/src/styles/variables.scss b/src/styles/variables.scss
index c8fe50c1eb..c4e9d80d8d 100644
--- a/src/styles/variables.scss
+++ b/src/styles/variables.scss
@@ -147,6 +147,7 @@ $font-family:
sans-serif !default;
// Font
+$font-size-xxxs: var(--nutui-font-size-xxxs, 9px) !default;
$font-size-xxs: var(--nutui-font-size-xxs, 10px) !default;
$font-size-xs: var(--nutui-font-size-xs, 11px) !default;
$font-size-s: var(--nutui-font-size-s, 12px) !default;
@@ -1616,7 +1617,7 @@ $badge-background-color: var(
$color-primary
) !default;
$badge-color: var(--nutui-badge-color, $color-primary-text) !default;
-$badge-font-size: var(--nutui-badge-font-size, 9px) !default;
+$badge-font-size: var(--nutui-badge-font-size, $font-size-xxxs) !default;
$badge-border: var(
--nutui-badge-border,
1px solid $color-primary-text
From feeb8b6f7894a061d2c5a04b15cfee9c7992a279 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Wed, 2 Apr 2025 17:41:44 +0800
Subject: [PATCH 03/11] =?UTF-8?q?feat:=20=E6=8E=A7=E5=88=B6=E5=8A=A0?=
=?UTF-8?q?=E8=BD=BD=E7=8A=B6=E6=80=81=E7=9A=84=E5=9B=BE=E6=A0=87=EF=BC=8C?=
=?UTF-8?q?=E4=BC=A0=E5=85=A5=E7=A9=BA=E5=80=BC=E6=97=B6=E7=A6=81=E7=94=A8?=
=?UTF-8?q?=20loading=20=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/packages/switch/doc.en-US.md | 2 +-
src/packages/switch/doc.md | 2 +-
src/packages/switch/doc.taro.md | 2 +-
src/packages/switch/doc.zh-TW.md | 2 +-
src/packages/switch/switch.taro.tsx | 2 +-
src/packages/switch/switch.tsx | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/packages/switch/doc.en-US.md b/src/packages/switch/doc.en-US.md
index b4090e42d0..69c868359a 100644
--- a/src/packages/switch/doc.en-US.md
+++ b/src/packages/switch/doc.en-US.md
@@ -77,7 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | Disabled | `boolean` | `false` |
| activeText | Text description when opening | `ReactNode` | `-` |
| inactiveText | Text description when closed | `ReactNode` | `-` |
-| loadingIcon | Controlled loading state icon | `ReactNode` | `` |
+| loadingIcon | Control the loading state icon, disable the loading state when a null | `ReactNode` | `` |
| onChange | Trigger when switching switches | `onChange:(value: boolean, event: Event)` | `-` |
## Theming
diff --git a/src/packages/switch/doc.md b/src/packages/switch/doc.md
index d699265bd2..044ecbd18c 100644
--- a/src/packages/switch/doc.md
+++ b/src/packages/switch/doc.md
@@ -77,7 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | 禁用状态 | `boolean` | `false` |
| activeText | 打开时文字描述 | `ReactNode` | `-` |
| inactiveText | 关闭时文字描述 | `ReactNode` | `-` |
-| loadingIcon | 受控 loading 态图标 | `ReactNode` | `` |
+| loadingIcon | 控制加载状态的图标,传入空值时禁用 loading 态 | `ReactNode` | `` |
| onChange | 切换开关时触发 | `onChange:(value: boolean, event: Event)` | `-` |
## 主题定制
diff --git a/src/packages/switch/doc.taro.md b/src/packages/switch/doc.taro.md
index 77a4646b2f..601225a41c 100644
--- a/src/packages/switch/doc.taro.md
+++ b/src/packages/switch/doc.taro.md
@@ -77,7 +77,7 @@ import { Switch } from '@nutui/nutui-react-taro'
| disabled | 禁用状态 | `boolean` | `false` |
| activeText | 打开时文字描述 | `ReactNode` | `-` |
| inactiveText | 关闭时文字描述 | `ReactNode` | `-` |
-| loadingIcon | 受控 loading 态图标 | `ReactNode` | `` |
+| loadingIcon | 控制加载状态的图标,传入空值时禁用 loading 态 | `ReactNode` | `` |
| onChange | 切换开关时触发 | `onChange:(value: boolean, event: Event)` | `-` |
## 主题定制
diff --git a/src/packages/switch/doc.zh-TW.md b/src/packages/switch/doc.zh-TW.md
index 0f12e4205a..44d109d119 100644
--- a/src/packages/switch/doc.zh-TW.md
+++ b/src/packages/switch/doc.zh-TW.md
@@ -77,7 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | 禁用狀態 | `boolean` | `false` |
| activeText | 打開時文字描述 | `ReactNode` | `-` |
| inactiveText | 關閉時文字描述 | `ReactNode` | `-` |
-| loadingIcon | 受控 loading 態圖標 | `ReactNode` | `` |
+| loadingIcon | 控制加載狀態的圖標,當傳入空值時禁用 loading 狀態 | `ReactNode` | `` |
| onChange | 切換開關時觸發 | `onChange:(value: boolean, event: Event)` | `-` |
## 主題定製
diff --git a/src/packages/switch/switch.taro.tsx b/src/packages/switch/switch.taro.tsx
index e4c7389ae8..0e3bb9693f 100644
--- a/src/packages/switch/switch.taro.tsx
+++ b/src/packages/switch/switch.taro.tsx
@@ -61,7 +61,7 @@ export const Switch: FunctionComponent> = (props) => {
const onClick = () => {
if (disabled || changing) return
if (onChange) {
- setChanging(true)
+ loadingIcon && setChanging(true)
onChange(!value)
}
setValue(!value)
diff --git a/src/packages/switch/switch.tsx b/src/packages/switch/switch.tsx
index 91c6c1b46d..43809ea539 100644
--- a/src/packages/switch/switch.tsx
+++ b/src/packages/switch/switch.tsx
@@ -59,7 +59,7 @@ export const Switch: FunctionComponent> = (props) => {
const onClick = () => {
if (disabled || changing) return
if (onChange) {
- setChanging(true)
+ loadingIcon && setChanging(true)
onChange(!value)
}
setValue(!value)
From cdac7884ab4475acecf6bfdc4c54664b60354966 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Thu, 3 Apr 2025 17:41:40 +0800
Subject: [PATCH 04/11] fix: modify cr
---
src/packages/switch/demos/h5/demo2.tsx | 18 +++++++++---------
src/packages/switch/demos/taro/demo2.tsx | 19 ++++++++++---------
src/packages/switch/doc.en-US.md | 1 -
src/packages/switch/doc.md | 1 -
src/packages/switch/doc.taro.md | 1 -
src/packages/switch/doc.zh-TW.md | 1 -
src/packages/switch/switch.taro.tsx | 12 ++++++++----
src/packages/switch/switch.tsx | 10 +++++++---
.../doc/docs/react/migrate-from-v2.md | 1 -
.../doc/docs/taro/migrate-from-v2.md | 1 -
10 files changed, 34 insertions(+), 31 deletions(-)
diff --git a/src/packages/switch/demos/h5/demo2.tsx b/src/packages/switch/demos/h5/demo2.tsx
index 973eee37ec..fc9c8a31c4 100644
--- a/src/packages/switch/demos/h5/demo2.tsx
+++ b/src/packages/switch/demos/h5/demo2.tsx
@@ -4,18 +4,18 @@ import { Cell, Switch, Toast } from '@nutui/nutui-react'
const Demo2 = () => {
const [checkedAsync, setCheckedAsync] = useState(true)
- const mockRequest = (): Promise => {
- return new Promise((resolve) => {
+ const onChangeAsync = async (value: boolean) => {
+ Toast.show(`2秒后异步触发 ${value}`)
+ const res = await new Promise((resolve) => {
setTimeout(() => {
- resolve()
+ resolve(true)
}, 2000)
})
- }
-
- const onChangeAsync = async (value: boolean) => {
- Toast.show(`2秒后异步触发 ${value}`)
- await mockRequest()
- setCheckedAsync(value)
+ if (!res) {
+ throw new Error()
+ } else {
+ setCheckedAsync(value)
+ }
}
return (
|
diff --git a/src/packages/switch/demos/taro/demo2.tsx b/src/packages/switch/demos/taro/demo2.tsx
index 58214bb5fe..9a76e8c8d7 100644
--- a/src/packages/switch/demos/taro/demo2.tsx
+++ b/src/packages/switch/demos/taro/demo2.tsx
@@ -5,19 +5,20 @@ const Demo2 = () => {
const [checkedAsync, setCheckedAsync] = useState(true)
const [value, setValue] = useState(false)
const [showToast, setShowToast] = useState(false)
- const mockRequest = (): Promise => {
- return new Promise((resolve) => {
- setTimeout(() => {
- resolve()
- }, 2000)
- })
- }
const onChangeAsync = async (value: boolean) => {
setValue(value)
setShowToast(true)
- await mockRequest()
- setCheckedAsync(value)
+ const res = await new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(true)
+ }, 2000)
+ })
+ if (!res) {
+ throw new Error()
+ } else {
+ setCheckedAsync(value)
+ }
}
return (
<>
diff --git a/src/packages/switch/doc.en-US.md b/src/packages/switch/doc.en-US.md
index 69c868359a..77a2603de2 100644
--- a/src/packages/switch/doc.en-US.md
+++ b/src/packages/switch/doc.en-US.md
@@ -77,7 +77,6 @@ import { Switch } from '@nutui/nutui-react'
| disabled | Disabled | `boolean` | `false` |
| activeText | Text description when opening | `ReactNode` | `-` |
| inactiveText | Text description when closed | `ReactNode` | `-` |
-| loadingIcon | Control the loading state icon, disable the loading state when a null | `ReactNode` | `` |
| onChange | Trigger when switching switches | `onChange:(value: boolean, event: Event)` | `-` |
## Theming
diff --git a/src/packages/switch/doc.md b/src/packages/switch/doc.md
index 044ecbd18c..35f78c57b1 100644
--- a/src/packages/switch/doc.md
+++ b/src/packages/switch/doc.md
@@ -77,7 +77,6 @@ import { Switch } from '@nutui/nutui-react'
| disabled | 禁用状态 | `boolean` | `false` |
| activeText | 打开时文字描述 | `ReactNode` | `-` |
| inactiveText | 关闭时文字描述 | `ReactNode` | `-` |
-| loadingIcon | 控制加载状态的图标,传入空值时禁用 loading 态 | `ReactNode` | `` |
| onChange | 切换开关时触发 | `onChange:(value: boolean, event: Event)` | `-` |
## 主题定制
diff --git a/src/packages/switch/doc.taro.md b/src/packages/switch/doc.taro.md
index 601225a41c..5ff506aa74 100644
--- a/src/packages/switch/doc.taro.md
+++ b/src/packages/switch/doc.taro.md
@@ -77,7 +77,6 @@ import { Switch } from '@nutui/nutui-react-taro'
| disabled | 禁用状态 | `boolean` | `false` |
| activeText | 打开时文字描述 | `ReactNode` | `-` |
| inactiveText | 关闭时文字描述 | `ReactNode` | `-` |
-| loadingIcon | 控制加载状态的图标,传入空值时禁用 loading 态 | `ReactNode` | `` |
| onChange | 切换开关时触发 | `onChange:(value: boolean, event: Event)` | `-` |
## 主题定制
diff --git a/src/packages/switch/doc.zh-TW.md b/src/packages/switch/doc.zh-TW.md
index 44d109d119..e6ccd1f303 100644
--- a/src/packages/switch/doc.zh-TW.md
+++ b/src/packages/switch/doc.zh-TW.md
@@ -77,7 +77,6 @@ import { Switch } from '@nutui/nutui-react'
| disabled | 禁用狀態 | `boolean` | `false` |
| activeText | 打開時文字描述 | `ReactNode` | `-` |
| inactiveText | 關閉時文字描述 | `ReactNode` | `-` |
-| loadingIcon | 控制加載狀態的圖標,當傳入空值時禁用 loading 狀態 | `ReactNode` | `` |
| onChange | 切換開關時觸發 | `onChange:(value: boolean, event: Event)` | `-` |
## 主題定製
diff --git a/src/packages/switch/switch.taro.tsx b/src/packages/switch/switch.taro.tsx
index 0e3bb9693f..f39076de1f 100644
--- a/src/packages/switch/switch.taro.tsx
+++ b/src/packages/switch/switch.taro.tsx
@@ -34,7 +34,7 @@ export const Switch: FunctionComponent> = (props) => {
const classPrefix = 'nut-switch'
const rtl = useRtl()
-
+ console.log('checked', checked)
const [value, setValue] = usePropsValue({
value: checked,
defaultValue: defaultChecked,
@@ -58,11 +58,15 @@ export const Switch: FunctionComponent> = (props) => {
])
}
- const onClick = () => {
+ const onClick = async () => {
if (disabled || changing) return
if (onChange) {
- loadingIcon && setChanging(true)
- onChange(!value)
+ setChanging(true)
+ try {
+ await onChange(!value)
+ } catch (e) {
+ setChanging(false)
+ }
}
setValue(!value)
}
diff --git a/src/packages/switch/switch.tsx b/src/packages/switch/switch.tsx
index 43809ea539..b8a9d487fe 100644
--- a/src/packages/switch/switch.tsx
+++ b/src/packages/switch/switch.tsx
@@ -56,11 +56,15 @@ export const Switch: FunctionComponent> = (props) => {
])
}
- const onClick = () => {
+ const onClick = async () => {
if (disabled || changing) return
if (onChange) {
- loadingIcon && setChanging(true)
- onChange(!value)
+ setChanging(true)
+ try {
+ await onChange(!value)
+ } catch (e) {
+ setChanging(false)
+ }
}
setValue(!value)
}
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 61559a9017..6411a46af3 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
@@ -238,7 +238,6 @@ 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 fa1bde064e..5f3c8bfa35 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
@@ -237,7 +237,6 @@ plugins: [
- `activeText` 属性类型更改为`ReactNode`
- `inactiveText` 属性类型更改为 `ReactNode`
-- 新增 `loadingIcon` 属性,受控 loading 态图标
[//]: # '#### Toast'
From 047df8938188a30baf2531b5c94d1e6a35321501 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Thu, 3 Apr 2025 17:52:17 +0800
Subject: [PATCH 05/11] fix: remove console
---
src/packages/switch/switch.taro.tsx | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/packages/switch/switch.taro.tsx b/src/packages/switch/switch.taro.tsx
index f39076de1f..1d71905a6d 100644
--- a/src/packages/switch/switch.taro.tsx
+++ b/src/packages/switch/switch.taro.tsx
@@ -32,9 +32,7 @@ export const Switch: FunctionComponent> = (props) => {
...props,
}
const classPrefix = 'nut-switch'
-
const rtl = useRtl()
- console.log('checked', checked)
const [value, setValue] = usePropsValue({
value: checked,
defaultValue: defaultChecked,
From 799dcdbe3e2d79d63d1716aaa63d82498e480cee Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Thu, 3 Apr 2025 17:58:16 +0800
Subject: [PATCH 06/11] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0demo=E4=BD=BF?=
=?UTF-8?q?=E7=94=A8=E6=8F=8F=E8=BF=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/packages/switch/demos/h5/demo2.tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/packages/switch/demos/h5/demo2.tsx b/src/packages/switch/demos/h5/demo2.tsx
index fc9c8a31c4..2a6c18a73f 100644
--- a/src/packages/switch/demos/h5/demo2.tsx
+++ b/src/packages/switch/demos/h5/demo2.tsx
@@ -12,6 +12,7 @@ const Demo2 = () => {
}, 2000)
})
if (!res) {
+ // 主动抛出一个错误,用于中断loading态
throw new Error()
} else {
setCheckedAsync(value)
From ad7c5b5d0c6b07334d800a9ea85e282a43f30114 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Thu, 3 Apr 2025 18:11:14 +0800
Subject: [PATCH 07/11] feat: update test
---
src/packages/switch/__test__/switch.spec.tsx | 8 ++++++--
src/packages/switch/demos/taro/demo2.tsx | 1 +
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/packages/switch/__test__/switch.spec.tsx b/src/packages/switch/__test__/switch.spec.tsx
index 094ee8f66d..b9934d52ac 100644
--- a/src/packages/switch/__test__/switch.spec.tsx
+++ b/src/packages/switch/__test__/switch.spec.tsx
@@ -63,9 +63,13 @@ test('disabled test', async () => {
})
test('loadingIcon test', async () => {
- const testFn = vi.fn()
const { container } = render(
- } onChange={testFn} />
+ }
+ onChange={() => {
+ throw new Error('Function not implemented.')
+ }}
+ />
)
const el: Element | null = container.querySelector('.nut-switch-button')
if (el) {
diff --git a/src/packages/switch/demos/taro/demo2.tsx b/src/packages/switch/demos/taro/demo2.tsx
index 9a76e8c8d7..b190bf6426 100644
--- a/src/packages/switch/demos/taro/demo2.tsx
+++ b/src/packages/switch/demos/taro/demo2.tsx
@@ -15,6 +15,7 @@ const Demo2 = () => {
}, 2000)
})
if (!res) {
+ // 主动抛出一个错误对象,用于中断组件 loading 态
throw new Error()
} else {
setCheckedAsync(value)
From e4c16cfaf6531971e7644345c55938213836056a Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Thu, 3 Apr 2025 18:21:12 +0800
Subject: [PATCH 08/11] =?UTF-8?q?fix:=20=E8=BF=98=E5=8E=9Fdoc?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/packages/switch/doc.en-US.md | 1 +
src/packages/switch/doc.md | 1 +
src/packages/switch/doc.taro.md | 1 +
src/packages/switch/doc.zh-TW.md | 1 +
src/sites/sites-react/doc/docs/react/migrate-from-v2.md | 8 ++------
src/sites/sites-react/doc/docs/taro/migrate-from-v2.md | 8 ++------
6 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/src/packages/switch/doc.en-US.md b/src/packages/switch/doc.en-US.md
index 77a2603de2..1640ec6da2 100644
--- a/src/packages/switch/doc.en-US.md
+++ b/src/packages/switch/doc.en-US.md
@@ -77,6 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | Disabled | `boolean` | `false` |
| activeText | Text description when opening | `ReactNode` | `-` |
| inactiveText | Text description when closed | `ReactNode` | `-` |
+| loadingIcon | Loading state icon | `ReactNode` | `` |
| onChange | Trigger when switching switches | `onChange:(value: boolean, event: Event)` | `-` |
## Theming
diff --git a/src/packages/switch/doc.md b/src/packages/switch/doc.md
index 35f78c57b1..a90847cfe1 100644
--- a/src/packages/switch/doc.md
+++ b/src/packages/switch/doc.md
@@ -77,6 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | 禁用状态 | `boolean` | `false` |
| activeText | 打开时文字描述 | `ReactNode` | `-` |
| inactiveText | 关闭时文字描述 | `ReactNode` | `-` |
+| loadingIcon | 控制加载状态的图标 | `ReactNode` | `` |
| onChange | 切换开关时触发 | `onChange:(value: boolean, event: Event)` | `-` |
## 主题定制
diff --git a/src/packages/switch/doc.taro.md b/src/packages/switch/doc.taro.md
index 5ff506aa74..9abaa7f260 100644
--- a/src/packages/switch/doc.taro.md
+++ b/src/packages/switch/doc.taro.md
@@ -77,6 +77,7 @@ import { Switch } from '@nutui/nutui-react-taro'
| disabled | 禁用状态 | `boolean` | `false` |
| activeText | 打开时文字描述 | `ReactNode` | `-` |
| inactiveText | 关闭时文字描述 | `ReactNode` | `-` |
+| loadingIcon | 加载状态的图标 | `ReactNode` | `` |
| onChange | 切换开关时触发 | `onChange:(value: boolean, event: Event)` | `-` |
## 主题定制
diff --git a/src/packages/switch/doc.zh-TW.md b/src/packages/switch/doc.zh-TW.md
index e6ccd1f303..f0c042e8f7 100644
--- a/src/packages/switch/doc.zh-TW.md
+++ b/src/packages/switch/doc.zh-TW.md
@@ -77,6 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | 禁用狀態 | `boolean` | `false` |
| activeText | 打開時文字描述 | `ReactNode` | `-` |
| inactiveText | 關閉時文字描述 | `ReactNode` | `-` |
+| loadingIcon | 加載狀態的圖標 | `ReactNode` | `` |
| onChange | 切換開關時觸發 | `onChange:(value: boolean, event: Event)` | `-` |
## 主題定製
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 ebe7e2064f..61559a9017 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
@@ -238,6 +238,7 @@ plugins: [
- `activeText` 属性类型更改为`ReactNode`
- `inactiveText` 属性类型更改为 `ReactNode`
+- 新增 `loadingIcon` 属性,受控 loading 态图标
[//]: # '#### Toast'
@@ -276,12 +277,7 @@ plugins: [
[//]: # '#### ImagePreview'
[//]: # '#### NoticeBar'
-
-#### Popover
-
-- 废弃的样式变量,这些变量存在于文档,已删除:`--nutui-popover-hover-background-color`、`--nutui-popover-hover-text-color`、`--nutui-popover-border-color`
-- 变更样式变量 `--nutui-popover-menu-item-padding` 变更为 `--nutui-popover-padding`,`--nutui-popover-menu-item-width` 变更为 `--nutui-popover-item-width`
-- 修订 `location` 的数据类型,使用统一位置类型 `FullPosition`
+[//]: # '#### Popover'
#### Price
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 409ccb5d12..fa1bde064e 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
@@ -237,6 +237,7 @@ plugins: [
- `activeText` 属性类型更改为`ReactNode`
- `inactiveText` 属性类型更改为 `ReactNode`
+- 新增 `loadingIcon` 属性,受控 loading 态图标
[//]: # '#### Toast'
@@ -275,12 +276,7 @@ plugins: [
[//]: # '#### ImagePreview'
[//]: # '#### NoticeBar'
-
-#### Popover
-
-- 废弃的样式变量,这些变量存在于文档,已删除:`--nutui-popover-hover-background-color`、`--nutui-popover-hover-text-color`、`--nutui-popover-border-color`
-- 变更样式变量 `--nutui-popover-menu-item-padding` 变更为 `--nutui-popover-padding`,`--nutui-popover-menu-item-width` 变更为 `--nutui-popover-item-width`
-- 修订 `location` 的数据类型,使用统一位置类型 `FullPosition`
+[//]: # '#### Popover'
#### Price
From 337067adaebe461cb32221fff926cf85233d2e31 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Thu, 3 Apr 2025 18:24:01 +0800
Subject: [PATCH 09/11] =?UTF-8?q?fix:=20=E8=BF=98=E5=8E=9Fdoc?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/packages/switch/doc.en-US.md | 2 +-
src/packages/switch/doc.md | 2 +-
src/packages/switch/doc.taro.md | 2 +-
src/packages/switch/doc.zh-TW.md | 2 +-
src/sites/sites-react/doc/docs/react/migrate-from-v2.md | 7 ++++++-
src/sites/sites-react/doc/docs/taro/migrate-from-v2.md | 7 ++++++-
6 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/src/packages/switch/doc.en-US.md b/src/packages/switch/doc.en-US.md
index 1640ec6da2..b4090e42d0 100644
--- a/src/packages/switch/doc.en-US.md
+++ b/src/packages/switch/doc.en-US.md
@@ -77,7 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | Disabled | `boolean` | `false` |
| activeText | Text description when opening | `ReactNode` | `-` |
| inactiveText | Text description when closed | `ReactNode` | `-` |
-| loadingIcon | Loading state icon | `ReactNode` | `` |
+| loadingIcon | Controlled loading state icon | `ReactNode` | `` |
| onChange | Trigger when switching switches | `onChange:(value: boolean, event: Event)` | `-` |
## Theming
diff --git a/src/packages/switch/doc.md b/src/packages/switch/doc.md
index a90847cfe1..d699265bd2 100644
--- a/src/packages/switch/doc.md
+++ b/src/packages/switch/doc.md
@@ -77,7 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | 禁用状态 | `boolean` | `false` |
| activeText | 打开时文字描述 | `ReactNode` | `-` |
| inactiveText | 关闭时文字描述 | `ReactNode` | `-` |
-| loadingIcon | 控制加载状态的图标 | `ReactNode` | `` |
+| loadingIcon | 受控 loading 态图标 | `ReactNode` | `` |
| onChange | 切换开关时触发 | `onChange:(value: boolean, event: Event)` | `-` |
## 主题定制
diff --git a/src/packages/switch/doc.taro.md b/src/packages/switch/doc.taro.md
index 9abaa7f260..77a4646b2f 100644
--- a/src/packages/switch/doc.taro.md
+++ b/src/packages/switch/doc.taro.md
@@ -77,7 +77,7 @@ import { Switch } from '@nutui/nutui-react-taro'
| disabled | 禁用状态 | `boolean` | `false` |
| activeText | 打开时文字描述 | `ReactNode` | `-` |
| inactiveText | 关闭时文字描述 | `ReactNode` | `-` |
-| loadingIcon | 加载状态的图标 | `ReactNode` | `` |
+| loadingIcon | 受控 loading 态图标 | `ReactNode` | `` |
| onChange | 切换开关时触发 | `onChange:(value: boolean, event: Event)` | `-` |
## 主题定制
diff --git a/src/packages/switch/doc.zh-TW.md b/src/packages/switch/doc.zh-TW.md
index f0c042e8f7..0f12e4205a 100644
--- a/src/packages/switch/doc.zh-TW.md
+++ b/src/packages/switch/doc.zh-TW.md
@@ -77,7 +77,7 @@ import { Switch } from '@nutui/nutui-react'
| disabled | 禁用狀態 | `boolean` | `false` |
| activeText | 打開時文字描述 | `ReactNode` | `-` |
| inactiveText | 關閉時文字描述 | `ReactNode` | `-` |
-| loadingIcon | 加載狀態的圖標 | `ReactNode` | `` |
+| loadingIcon | 受控 loading 態圖標 | `ReactNode` | `` |
| onChange | 切換開關時觸發 | `onChange:(value: boolean, event: Event)` | `-` |
## 主題定製
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 61559a9017..88cf0c8259 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
@@ -277,7 +277,12 @@ plugins: [
[//]: # '#### ImagePreview'
[//]: # '#### NoticeBar'
-[//]: # '#### Popover'
+
+#### Popover
+
+- 废弃的样式变量,这些变量存在于文档,已删除:`--nutui-popover-hover-background-color`、`--nutui-popover-hover-text-color`、`--nutui-popover-border-color`
+- 变更样式变量 `--nutui-popover-menu-item-padding` 变更为 `--nutui-popover-padding`,`--nutui-popover-menu-item-width` 变更为 `--nutui-popover-item-width`
+- 修订 `location` 的数据类型,使用统一位置类型 `FullPosition`
#### Price
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 fa1bde064e..2b317e987d 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
@@ -276,7 +276,12 @@ plugins: [
[//]: # '#### ImagePreview'
[//]: # '#### NoticeBar'
-[//]: # '#### Popover'
+
+#### Popover
+
+- 废弃的样式变量,这些变量存在于文档,已删除:`--nutui-popover-hover-background-color`、`--nutui-popover-hover-text-color`、`--nutui-popover-border-color`
+- 变更样式变量 `--nutui-popover-menu-item-padding` 变更为 `--nutui-popover-padding`,`--nutui-popover-menu-item-width` 变更为 `--nutui-popover-item-width`
+- 修订 `location` 的数据类型,使用统一位置类型 `FullPosition`
#### Price
From b041d3678d5cfd2ab099113ae8c9ef0c30fb80e6 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Thu, 3 Apr 2025 18:32:41 +0800
Subject: [PATCH 10/11] fix: update descr
---
src/packages/switch/demos/h5/demo2.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/packages/switch/demos/h5/demo2.tsx b/src/packages/switch/demos/h5/demo2.tsx
index 2a6c18a73f..cdb07fed90 100644
--- a/src/packages/switch/demos/h5/demo2.tsx
+++ b/src/packages/switch/demos/h5/demo2.tsx
@@ -12,7 +12,7 @@ const Demo2 = () => {
}, 2000)
})
if (!res) {
- // 主动抛出一个错误,用于中断loading态
+ // 主动抛出一个错误对象,用于中断组件 loading 态
throw new Error()
} else {
setCheckedAsync(value)
From 4a7c320adcd36f04e840ffa495e09a5672ff0391 Mon Sep 17 00:00:00 2001
From: songchenglin3 <353833373@qq.com>
Date: Mon, 9 Jun 2025 15:45:57 +0800
Subject: [PATCH 11/11] =?UTF-8?q?fix(switch):=20=E7=A7=BB=E9=99=A4?=
=?UTF-8?q?=E9=87=8D=E5=A4=8D=E7=9A=84onchange=E5=9B=9E=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/packages/switch/switch.taro.tsx | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/packages/switch/switch.taro.tsx b/src/packages/switch/switch.taro.tsx
index 5d72b21c7f..3b76fa1ab2 100644
--- a/src/packages/switch/switch.taro.tsx
+++ b/src/packages/switch/switch.taro.tsx
@@ -72,7 +72,6 @@ export const Switch: FunctionComponent> = (props) => {
if (disabled || loading) return
if (onChange) {
loadingIcon && setLoading(true)
- onChange(!value)
try {
await onChange(!value)
} catch (e) {
|