我有以下问题:
我有几个textInputs作为父屏幕的子级。 父屏幕上有一个按钮,可将子文本输入的内容提交到API。
所以我正在这样做。在儿童中:
<TextInput
selectTextOnFocus={true}
onChangeText={(text) => this.setState({ text })}
onEndEditing = {(text) => this.props.updateOrderedProducts([this.props.product.id, this.state.text])}
value={this.state.text}
/>
在家长中:
updateOrderedProducts
是我在设置状态的父级中的功能。按下按钮时,此状态会触发API:
class ProductScreen extends React.Component {
constructor(props) {
super(props);
this.state = {
loading: true,
products: [],
ordered_products: [],
error: '',
productCategory: this.props.navigation.getParam('productCategory', 'Fierros'),
};
this.updateOrderedProducts = this.updateOrderedProducts.bind(this)
}
updateOrderedProducts(addedProducts) {
this.setState({
ordered_products: [...this.state.ordered_products, addedProducts]
});
}
...
</View>
<View style={secondButton}>
<Button onPress={() => this.updateCart()} >
Agregar
</Button>
</View>
</View>
...
一切正常,但当我按下父按钮时,onEndEditing不会触发。仅当我在textInput之外的任何地方按时,它才会触发。因此,我缺少数据。
有什么想法吗?
编辑:我也尝试过onSubmitEditing,结果相同。编辑并按下按钮而不提交TextInput时,该功能不会触发