javascript - 使用按钮传递值
问题描述
我在数组中有我的数据库值。
"ExercisesData": [
{
"Id": "01",
"Reps": "10",
"StartDate": "2019-06-20",
"EndDate": "2019-06-21",
"Notes": "...."
},
{
"Id": "02",
"Reps": "1",
"Notes": "....."
},
{
"Id": "03",
"Reps": "150",
"Notes": "......"
}
]
我采用这些值并为它们创建一个按钮。像这样:
checkAttività (){
//.....
}
render() {
const exercises = this.state.Exercises.map(exercise => {
return (
<View>
<Text style={{ fontSize: 15 }}>Id: {exercise.Id}</Text>
<Text style={{ fontSize: 15 }}>Reps: {exercise.Reps}</Text>
<Text style={{ fontSize: 15 }}>Note: {exercise.Notes}</Text>
<TouchableOpacity
style={[styleButton.button, styleButton.buttonOK]}
onPress={() => this.checkAttività(exercise.Id)}>
<Text style={styleButton.buttonTesto}>Choose</Text>
</TouchableOpacity>
</View>
通过这种方式,我为数组中的每个值创建了一个按钮。我应该做的是创建一个按钮,它允许我传递与单击的键对应的 id 值。在这个意义上:
编号:01
代表:
备注:...
按钮1
编号:02
代表:
备注:...
按钮2
如果我单击 button1,我将传递 Id (01) 的值。我能怎么做?谢谢你。
解决方案
你可以这样做。只需绑定事件,您就可以传递任何参数。
onPress={ this.someEvent.bind(this,exercise.Id)}
someEvent(id){
console.log("You will get the id: ",id);
}
推荐阅读
- mysql - 检索特定月份内但小于当年和小于当天的MySql记录
- google-cloud-platform - 是什么导致我的“/dev/sda1”目录的文件大小增加,如何减小整体大小?
- python - Scrapy Request: TypeError(f'Request url must be str or unicode, got {type(url).__name__}'
- c# - 在同一解决方案中混合 .NET Core 和 Framework - System.Data.Entity 问题
- algorithm - 在彩色图中查找具有单个不同颜色边的循环
- python - 获取属性错误:类型对象“Word2Vec”在进行情绪分析时没有属性“load_word2vec_format”
- haskell - 无法创建幻影应用函子类
- javascript - 在 JavaScript 中从另一个数组中获取一个数组的元素
- mysql - 我想将第二个查询与第一个查询合并,并将产品媒体和类别媒体显示为 MY SQL Magento 2 中的 URL
- amazon-web-services - AWS CodeDeploy - 我可以在哪里配置 ASG 的部署选项?