我有一个平面列表,可以呈现几个按钮,我想在esee平面列表中标记所选按钮,我尝试了很多东西但是在所有这些内容中,一旦我选择一个,平面列表标记所有项目,除此之外,它更新,直到我更新组件中的东西并保存更改,然后它进行热重新加载,这是标记的项目显示的方式
constructor(props) {
super(props);
this.state = {
pressStatus: false,
};
_onShowUnderlay(){
this.setState({ pressStatus: true });
}
render() {
return (
<FlatList
keyExtractor={this._keyExtractor}
data={this.state.ninosPicker}
renderItem={({item}) => (
<View style={styles.hijos}>
<TouchableHighlight
activeOpacity={1}
underlayColor="#3fa9f5"
onShowUnderlay={this._onShowUnderlay.bind(this)}
style={this.state.pressStatus ? styles.buttonPress : styles.botonsito }
onPress={() => this.setHijo(item.grado, item.grupo)}>
<Text style={this.state.pressStatus ? styles.welcomePress : styles.titBtnGyG }>{item.name}</Text>
</TouchableHighlight>
<TouchableHighlight
activeOpacity={1}
underlayColor="#3fa9f5"
style={this.state.pressStatus ? styles.gradosPress : styles.grados }>
<Text style={this.state.pressStatus ? styles.welcomePress : styles.titBtnGyG }>{item.grado}</Text>
</TouchableHighlight>
<TouchableHighlight
activeOpacity={1}
underlayColor="#3fa9f5"
style={this.state.pressStatus ? styles.grupoPress : styles.grupo }>
<Text style={this.state.pressStatus ? styles.welcomePress : styles.titBtnGyG }>{item.grupo}</Text>
</TouchableHighlight>
</View>
)}/>
答案 0 :(得分:0)
您必须考虑到在编码中您要放置一个唯一状态,在本例中为this.state.pressStatus,您需要在执行时在每个对象的排列中具有一个属性pressStatus按钮的动作,您必须更改按钮的状态