不能设置文本输入ref.



我正试图在onSubmitEditing的输入之间切换焦点,但我无法将自定义文本输入的refprops传递给主组件。

我放入ref的控制台日志没有记录任何内容。

const MyCustomInput = (props) => {
<View> 
<FormInput
{...props}
editable={!props.disabled}
selectTextOnFocus={!props.disabled}
disable={props.disabled}
displayOnly={props.displayOnly}
small={props.small}
placeholderTextColor={'#AFAFAF'}
/>
</View>
}
<Controller
control={control}
render={({field: {onChange, onBlur, value, ref}}) => (
<MyCustomInput
onBlur={onBlur}
onChangeText={(value: string) => onChange(value)}
value={value}
ref={(r: any) => {
console.log('r', r);
ref(r);
inputRef.current = r;
}}
/>
)}
name="myInput"
/>

解决了,我在自定义输入中缺少forward ref

const MyCustomInput = fowardRef((props, ref) => {
<View> 
<FormInput
{...props}
ref={ref}
editable={!props.disabled}
selectTextOnFocus={!props.disabled}
disable={props.disabled}
displayOnly={props.displayOnly}
small={props.small}
placeholderTextColor={'#AFAFAF'}
/>
</View>
)}

相关内容

  • 没有找到相关文章

最新更新