我正在使用 @shoutem/ui 库,它有自己的 TextInput 实现来进行本机反应。
https://github.com/shoutem/ui/blob/develop/components/TextInput.js
我正在尝试将焦点设置在键盘上的下一个输入上,下一个按钮按下就像这样
React Native:按下“下一个”键盘按钮后如何选择下一个TextInput?
但是,Shoutem/ui 的实现没有公开我可以从参考中使用的 TextInput 的 focus() 方法。
如何将 TextInput 的焦点方法公开为外部类中的属性?
import React, { Component } from 'react';
import { TextInput as RNTextInput } from 'react-native';
import { connectStyle } from '@shoutem/theme';
import { connectAnimation } from '@shoutem/animation';
class TextInput extends Component {
focus() {
// how do I expose the react native text input focus method from this class?
// do I get a reference to the text input component somehow?
}
render() {
const { props } = this;
const style = {
...props.style,
};
delete style.placeholderTextColor;
delete style.selectionColor;
return (
<RNTextInput
{...props}
style={style}
placeholderTextColor={props.style.placeholderTextColor}
selectionColor={props.style.selectionColor}
/>
);
}
}
TextInput.propTypes = {
...RNTextInput.propTypes,
style: React.PropTypes.object,
};
const AnimatedTextInput = connectAnimation(TextInput);
const StyledTextInput = connectStyle('shoutem.ui.TextInput')(AnimatedTextInput);
export {
StyledTextInput as TextInput,
};