ios - 用复选标记反应本机选择文本
问题描述
我是本机反应的新手,我正在尝试使用复选标记进行文本选择并仅选择一个文本元素,我是否必须使用按钮来代替?
反应代码
<View style={styles.mainContainer}>
<Text style={styles.title}>User Role</Text>
<View style={styles.detailsContainer}>
<View style={styles.rowContainer}>
<Text style={styles.row}>Admin</Text>
</View>
<View style={styles.rowContainer}>
<Text style={styles.row}>Assistant</Text>
</View>
</View>
</View>
样式表
mainContainer: {
marginTop: 20,
},
detailsContainer: {
backgroundColor: '#FFF',
marginTop: 10,
},
title: {
paddingLeft: 16,
color: '#979797',
textTransform: 'uppercase',
},
解决方案
您需要从列表中保留所选项目的变量。
state = {
selectedId: null
}
renderItem({ item }) {
return (
<TouchableOpacity
onPress={() => {
this.setState({
selectedId: item.id
})
}}>
<View style={styles.mainContainer} >
<Text style={styles.title}>User Role</Text>
<View style={styles.detailsContainer}>
<View style={styles.rowContainer}>
<Text style={styles.row}>Admin</Text>
</View>
<View style={styles.rowContainer}>
<Text style={styles.row}>Assistant</Text>
</View>
</View>
{
this.state.selectedId === item.id ? <CHECK_MARK_IMAGE /> : null
}
</View>
</TouchableOpacity>
)
}
我希望您将反应本机代码放入一种方法中。
推荐阅读
- php - 重构嵌套的 foreach 循环
- javascript - 在angularjs中推送带有检查条件的数组
- macros - 可以在结构上添加其他派生的过程宏派生吗?
- visual-studio-code - 打开 VS Code 并打开一个空白文本文件
- thymeleaf - 如何将此jsp代码转换为百里香
- xcode - clang:-1: Xcode 中的链接器命令失败,退出代码为 1(使用 -v 查看调用)
- android - 如何获取布局的坐标?
- php - PHP Regex:在重复字符上匹配特定长度的字符串
- javascript - 如何在同一页面上复制 [播放] 和 [暂停] 按钮以进行音频播放?
- java - 另一个 MySQL 连接问题