0
我正在研究react-native GridView組件,我想要更改GridView項目單擊的可見性狀態。如何在反應原生GridView組件中更改可見性狀態?
所以我有一個列表顏色網格,但是當我點擊單個項目時,它應該選擇並顯示一個刻度標記。
export default class filter extends Component {
constructor() {
super();
this.state = {
gridDataSourceColor: filterColor,
isVisible: false,
};
}
render() {
return (
<View>
<GridView
items={this.state.gridDataSourceColor}
itemsPerRow={6}
renderItem={this.renderColorItem.bind(this)}
/>
</View>
);
}
onItemPressed(item){
}
renderColorItem(item){
return(
<TouchableHighlight key={item.id} onPress={this.onItemPressed.bind(this, item)}>
<View
key={item.id}
style={{
width: 50,
height: 45,
marginLeft: 2,
marginRight: 2,
justifyContent: 'center',
alignItems: 'center',
marginTop: 5,
backgroundColor: item.color}}>
<Image
style={{
width: 25,
height:25}}
source={require('../images/check_mark_icon.png')} />
</View>
</TouchableHighlight>
);
}
}
:在選擇
代碼
網格項目
電網項目
所以上面的代碼,當我做onItemPressed()時,它應該改變狀態並顯示刻度標記。
請通過我的帖子,並建議我一些解決方案。
嘿感謝,這是一個很大的幫助...... –
哎我設置isSelected =真喜歡這個變種tempFilterColor = this.state.gridDataSourceColor; this.setState({gridDataSourceColor:[{isSelected:true}]}); –
嘿我這樣做,但它沒有設置值var tempFilterColor = this.state = { gridDataSourceColor:[{id:item.id,isSelected:true}], }; this.setState({gridDataSourceColor:tempFilterColor}); var tempFilterColor = item.isSelected; –