大家好,我在这里有两个问题。
首先在我的文本输入中,我有一个“警告”,我认为它正在等待某些字符串,因此我首先在“值”中使用“ .toString()”,然后它确实消除了警告,但是当按下按钮时,我在textinput中看不到任何输出。
_incrementCount(index) {
this.setState({ ['count'+index]: this.state['count'+index] + 1 });
console.log(this.count);
alert(this.count);
}
_decreaseCount(index) {
this.setState({ ['count'+index]: this.state['count'+index] - 1 });
console.log(this.count);
alert(this.count);
}
changeTextHandler(text) {
this.setState({ ['count'+index]: text });
};
return (
<View>
<TextInput
onChangeText={ (text) => this.changeTextHandler(text) }
value={ this.state.count } // value
/>
</View>
)
这是我的下一个问题。
在我的按钮中第二,我试图增加和减少数字,并且输出应在textinput中。但是,当我单击/轻按按钮时,也会在console.log中显示警报“ undefined”。
<TouchableOpacity
onPress = {() => this._incrementCount(index)}>
<Text style = {styles.buttonText}> + </Text>
</TouchableOpacity>
<TextInput
onChangeText={ (text) => this.changeTextHandler(text) }
value={ this.state.count }
/>
<TouchableOpacity
onPress = {() => this._decreaseCount(index)}>
<Text style = {styles.buttonText}> - </Text>
</TouchableOpacity>
PS:因为这个原因,我正在使用这些索引; React Native - Flatlist Single Select
答案 0 :(得分:0)
对于第一个问题,您什么都看不到,因为您将textInput的值设置为limit=10
,但是您从未更改过this.state.count
,因为在onChange函数上设置的是count + index,因此结果将是您仅更改this.state.count
状态,而不更改计数状态。
对于第二个问题,您将变得不确定,因为您没有传递onPress函数。永远不会设置要传递的索引(根据您提供的代码)。