我在本机中有一个GridView组件。我有两个不同的图标来突出显示网格图像。
在此如何在打开时使用setState更改图标。
<GridView
itemDimension={80}
items={items}
style={styles.gridView}
renderItem={({ item }) => this.renderGrid(item)}
/>
答案 0 :(得分:0)
您可以采用这种方法:
初始化一个状态(数组),您将在其中存储当前选定的图像
例如
this.state = {
selectedImages: []
}
每当有人单击图像时,您都必须将图像的ID(或某些唯一键)推入或弹出到selecetedImages
状态。这可以在图像的onPress
中完成。每当onPress
运行时,首先检查数组是否包含当前图像的ID(或某些唯一键),然后拼接ID,否则将其推入selectedImages
数组
要显示突出显示的图标,您可以执行类似的操作
{selectedImages.includes(image.id) ? <HighlightIcon /> : null}
希望这对您有帮助