我在一个父FlatList中呈现多个FlatList子级,如下所示
<FlatList
data={parenttypes}
renderItem={({item})=><View>
<Text>{item.name}</Text>
<FlatList
data={childtypes}
renderItem={({item})=><View>
<Text>HOW DO I ACCESS PARENT'S item here as well</Text>
</View>}
/>
</View>}
/>如何在子FlatList中访问父FlatList的item
发布于 2017-12-31 01:28:43
一个简单的解决方案是,不对子回调方法使用箭头函数,而是创建单独的函数并将父数据绑定到子回调方法中。
如下所示:
<FlatList
data={parenttypes}
renderItem={({item})=><View>
<Text>{item.name}</Text>
<FlatList
data={childtypes}
renderItem={this._renderChildItem.bind(this, item)}
/>
</View>}
/>
_renderChildItem(parentData, {item}) {
console.log('data', parentData, item);
return (
<View>
<Text>HOW DO I ACCESS PARENT'S item here as well</Text>
</View>
)
}不确定,但也可以试试这个:
<FlatList
data={parenttypes}
renderItem={({item}) => {
let parentData = item;
return (
<View>
<Text>{item.name}</Text>
<FlatList
data={childtypes}
renderItem={({item}) => {
console.log('data', parentData, item);
return(
<View>
<Text>HOW DO I ACCESS PARENT'S item here as well</Text>
</View>
)
}
/>
</View>
)
}
/>https://stackoverflow.com/questions/48036130
复制相似问题