From 0939fbcdfcbf0ecbb16d488098bb83e7bb412f84 Mon Sep 17 00:00:00 2001 From: huxiyang <1872591453@qq.com> Date: Wed, 31 Jul 2024 19:03:14 +0800 Subject: [PATCH 1/2] refactor(numberkeyboard): refactor --- .../numberkeyboard/numberkeyboard.taro.tsx | 51 ++++++++++++------- .../numberkeyboard/numberkeyboard.tsx | 51 ++++++++++++------- src/packages/virtuallist/demos/h5/index.css | 14 +++++ 3 files changed, 80 insertions(+), 36 deletions(-) create mode 100644 src/packages/virtuallist/demos/h5/index.css diff --git a/src/packages/numberkeyboard/numberkeyboard.taro.tsx b/src/packages/numberkeyboard/numberkeyboard.taro.tsx index 6b892ef90a..a79e939492 100644 --- a/src/packages/numberkeyboard/numberkeyboard.taro.tsx +++ b/src/packages/numberkeyboard/numberkeyboard.taro.tsx @@ -49,7 +49,7 @@ export const NumberKeyboard: FunctionComponent< onClose, onConfirm, ...rest - } = props + } = { ...defaultProps, ...props } const classPrefix = 'nut-numberkeyboard' const getBasicKeys = () => { @@ -100,17 +100,37 @@ export const NumberKeyboard: FunctionComponent< } const onTouchEnd = (item: { id: string; type: string }) => { setActive(false) - if (item.type === 'num' || item.type === 'custom') { - onChange && onChange(item.id) + switch (item.type) { + case 'num': + case 'custom': + onChange?.(item.id) + break + case 'close': + onClose?.() + break + case 'delete': + onDelete?.() + break + case 'confirm': + onConfirm?.() + break + default: + break } - if (item.type === 'close') { - onClose && onClose() - } - if (item.type === 'delete') { - onDelete && onDelete() - } - if (item.type === 'confirm') { - onConfirm && onConfirm() + } + const renderContent = (item: { id: string; type: string }) => { + switch (item.type) { + case 'num': + case 'custom': + return
{item.id}
+ case 'delete': + return + case 'close': + return + case 'confirm': + return <>{confirmText || locale.done} + default: + return null } } return ( @@ -127,12 +147,7 @@ export const NumberKeyboard: FunctionComponent< onTouchEnd={() => onTouchEnd(item)} onTouchCancel={() => onTouchEnd(item)} > - {(item.type === 'num' || item.type === 'custom') && ( -
{item.id}
- )} - {item.type === 'delete' && } - {item.type === 'close' && } - {item.type === 'confirm' && <>{confirmText || locale.done}} + {renderContent(item)} ) @@ -140,13 +155,13 @@ export const NumberKeyboard: FunctionComponent< return (
{title && ( diff --git a/src/packages/numberkeyboard/numberkeyboard.tsx b/src/packages/numberkeyboard/numberkeyboard.tsx index fb7a274b3e..4a58ce806a 100644 --- a/src/packages/numberkeyboard/numberkeyboard.tsx +++ b/src/packages/numberkeyboard/numberkeyboard.tsx @@ -48,7 +48,7 @@ export const NumberKeyboard: FunctionComponent< onClose, onConfirm, ...rest - } = props + } = { ...defaultProps, ...props } const classPrefix = 'nut-numberkeyboard' const getBasicKeys = () => { @@ -104,17 +104,37 @@ export const NumberKeyboard: FunctionComponent< } const onTouchEnd = (item: { id: string; type: string }) => { setActive(false) - if (item.type === 'num' || item.type === 'custom') { - onChange && onChange(item.id) + switch (item.type) { + case 'num': + case 'custom': + onChange?.(item.id) + break + case 'close': + onClose?.() + break + case 'delete': + onDelete?.() + break + case 'confirm': + onConfirm?.() + break + default: + break } - if (item.type === 'close') { - onClose && onClose() - } - if (item.type === 'delete') { - onDelete && onDelete() - } - if (item.type === 'confirm') { - onConfirm && onConfirm() + } + const renderContent = (item: { id: string; type: string }) => { + switch (item.type) { + case 'num': + case 'custom': + return
{item.id}
+ case 'delete': + return + case 'close': + return + case 'confirm': + return <>{confirmText || locale.done} + default: + return null } } return ( @@ -131,12 +151,7 @@ export const NumberKeyboard: FunctionComponent< onTouchEnd={() => onTouchEnd(item)} onTouchCancel={() => onTouchEnd(item)} > - {(item.type === 'num' || item.type === 'custom') && ( -
{item.id}
- )} - {item.type === 'delete' && } - {item.type === 'close' && } - {item.type === 'confirm' && <>{confirmText || locale.done}} + {renderContent(item)}
) @@ -144,13 +159,13 @@ export const NumberKeyboard: FunctionComponent< return (
{title && ( diff --git a/src/packages/virtuallist/demos/h5/index.css b/src/packages/virtuallist/demos/h5/index.css new file mode 100644 index 0000000000..dbc4497741 --- /dev/null +++ b/src/packages/virtuallist/demos/h5/index.css @@ -0,0 +1,14 @@ +.virtualList { + width: calc(100% - 16px); + border-radius: 16px; + overflow: auto; + margin: 0 auto; + li.nut-virtuallist-item { + margin: 0; + box-shadow: 0; + } + li.nut-virtuallist-item:last-child { + border-bottom-left-radius: 16px; + border-bottom-right-radius: 16px; + } +} \ No newline at end of file From 3dc427a9634c2465bcc30616c06282afad28845d Mon Sep 17 00:00:00 2001 From: huxiyang <1872591453@qq.com> Date: Wed, 31 Jul 2024 20:26:17 +0800 Subject: [PATCH 2/2] chore: delete useless --- src/packages/virtuallist/demos/h5/index.css | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 src/packages/virtuallist/demos/h5/index.css diff --git a/src/packages/virtuallist/demos/h5/index.css b/src/packages/virtuallist/demos/h5/index.css deleted file mode 100644 index dbc4497741..0000000000 --- a/src/packages/virtuallist/demos/h5/index.css +++ /dev/null @@ -1,14 +0,0 @@ -.virtualList { - width: calc(100% - 16px); - border-radius: 16px; - overflow: auto; - margin: 0 auto; - li.nut-virtuallist-item { - margin: 0; - box-shadow: 0; - } - li.nut-virtuallist-item:last-child { - border-bottom-left-radius: 16px; - border-bottom-right-radius: 16px; - } -} \ No newline at end of file