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