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