diff --git a/src/packages/textarea/__test__/__snapshots__/textarea.spec.tsx.snap b/src/packages/textarea/__test__/__snapshots__/textarea.spec.tsx.snap index 76f243f012..cd9ee8bcbe 100644 --- a/src/packages/textarea/__test__/__snapshots__/textarea.spec.tsx.snap +++ b/src/packages/textarea/__test__/__snapshots__/textarea.spec.tsx.snap @@ -6,15 +6,15 @@ exports[`textarea props test 1`] = ` class="nut-textarea nut-textarea-container nut-textarea-default" >
4 / diff --git a/src/packages/textarea/textarea.taro.tsx b/src/packages/textarea/textarea.taro.tsx index 4f69f69e93..58baf70a1b 100644 --- a/src/packages/textarea/textarea.taro.tsx +++ b/src/packages/textarea/textarea.taro.tsx @@ -1,7 +1,13 @@ import React, { FunctionComponent, useRef } from 'react' import classNames from 'classnames' import Taro from '@tarojs/taro' -import { Textarea, TextareaProps, View, Text } from '@tarojs/components' +import { + BaseEventOrig, + Text, + Textarea, + TextareaProps, + View, +} from '@tarojs/components' import { useConfig, useRtl } from '@/packages/configprovider/index.taro' import { BasicComponent, ComponentDefaults } from '@/utils/typings' import { usePropsValue } from '@/utils/use-props-value' @@ -21,8 +27,8 @@ export interface TextAreaProps plain: boolean status: 'error' | 'default' onChange: (value: string) => void - onBlur: (event: Event) => void - onFocus: (event: Event) => void + onBlur: (event: BaseEventOrig) => void + onFocus: (event: BaseEventOrig) => void } const defaultProps = { @@ -77,7 +83,7 @@ export const TextArea: FunctionComponent> = (props) => { onChange, }) - const handleChange = (event: any) => { + const handleChange = (event: BaseEventOrig) => { const text = event?.detail?.value if (text) { const value = compositionRef.current ? text : format(text) @@ -87,16 +93,16 @@ export const TextArea: FunctionComponent> = (props) => { } } - const handleFocus = (event: Event) => { - if (disabled) return - if (readOnly) return - onFocus && onFocus(event) + const isDisabled = () => disabled || readOnly + + const handleFocus = (event: BaseEventOrig) => { + if (isDisabled()) return + onFocus?.(event) } - const handleBlur = (event: Event) => { - if (disabled) return - if (readOnly) return - onBlur && onBlur(event) + const handleBlur = (event: BaseEventOrig) => { + if (isDisabled()) return + onBlur?.(event) } return ( @@ -104,15 +110,19 @@ export const TextArea: FunctionComponent> = (props) => {