通过此代码,我可以将key
传递给我的函数并使用它。现在如何传递key
和另一个值quantity
?
deleteItem(key){
consol.log(key);
}
<ListView style={{zIndex:1}}
dataSource={this.state.dataSource}
enableEmptySections={true}
renderRow={ (rowData)=>
<TouchableOpacity onPress={this.deleteItem.bind(this, rowData.key)}>
<Text>Delete this row</Text>
</TouchableOpacity>
}/>
我需要在rowData.quantity
内部传递rowData.key
。我该怎么办?
答案 0 :(得分:2)
与其在JSX中进行绑定,不如在您的构造函数中进行绑定,然后使用delete方法,您可以像这样定义期望的参数
constructor(props) {
super(props);
this.deleteItem = this.deleteItem.bind(this);
}
deleteItem(quantity, key){
consol.log(key);
}
<ListView style={{zIndex:1}}
dataSource={this.state.dataSource}
enableEmptySections={true}
renderRow={ (rowData)=>
<TouchableOpacity onPress={this.deleteItem(rowData.quantity,rowData.key)}>
<Text>Delete this row</Text>
</TouchableOpacity>
}/>
但是,我还要解决的是,您传递的两个属性都属于同一个对象,因此您可以仅将对象传递给自己,然后将这些值从其中解构。