作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在图片上添加复选框。这是当前屏幕。
很简单FlatList
.这是 renderItem()
对于平面列表
<TouchableWithoutFeedback
onPress={() => this._handleImagePress(item.id)}>
<Image
key={item.id}
source={{uri: item.outfit_img}}
style={styles.rowImage}
resizeMode="cover"
/>
</TouchableWithoutFeedback>
我要实现的是下面这个画面
我有 <CheckBox on={true}>
呈现选中复选框的组件。
请求
handleImagePress = (id) => {
if(_.includes(this.state.selectedIds, id)) {
let newSelectedIds = _.filter(this.state.selectedIds, (curObject) => {
return curObject !== id;
});
this.setState({selectedIds : newSelectedIds});
} else {
let newSelectedIds = [...this.state.selectedIds, id];
this.setState({selectedIds : newSelectedIds});
}
}
最佳答案
您只需要在您的renderItem()
中执行此操作:
renderItem({item}) => {
const isSelected = this.state.selectedIds.includes(item.id)
return (
<TouchableWithoutFeedback
onPress={() => this._handleImagePress(item.id)}
>
<Image
key={item.id}
source={{uri: item.outfit_img}}
style={styles.rowImage}
resizeMode="cover"
/>
{ isSelected && <CheckBox on={true}> }
</TouchableWithoutFeedback>
)
}
这里的Checkbox
应该是absolute
定位,你可以提供你想要的样式。此外,您需要将值为 this.state.selectedphotos
的 extraData
属性添加到您的 Flatlist。
关于javascript - 如何在 <Image> 上呈现复选框(React Native),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47012408/
我是一名优秀的程序员,十分优秀!