【发布时间】:2019-01-02 10:55:40
【问题描述】:
我正在尝试创建一个嵌套的 Flatlist(Flatlist 在另一个 Flatlist 中),其中包含从 Web 服务获取的动态数据。
一旦获取内部平面列表数据,我将根据内容尝试增加父平面列表项的高度。
谁能指导我解决问题
来自 App.js
renderItem = ({ item }) => {
if (item.empty === true) {
return <View style={[styles.item, styles.itemInvisible]} />;
}
return (
<View style={styles.item}>
<Text style={styles.itemText}>Name</Text>
<Text style={styles.itemText}>{item.key}</Text>
<InnerListView updateHeight={this.updateHeight} />
</View>
);
};
render() {
return (
<FlatList
data={[
{ key: 'ABCDEFGH' }
]}
style={styles.container}
renderItem={this.renderItem}
numColumns={numColumns}
/>
);
}
来自内部列表
find_dimesions(layout){
const {x, y, width, height} = layout;
console.warn("xpos"+ x);
console.warn("ypos"+y);
console.warn("width"+width);
console.warn("height"+height);
this.props.updateHeight(height)
}
renderItem = ({ item, index }) => {
if (item.empty === true) {
return (<View style={[styles.item, styles.itemInvisible]} />);
}
return (
<View style={styles.item}>
<Text style={styles.itemText}>Name</Text>
<Text style={styles.itemText}>{item.key}</Text>
</View>
);
};
render() {
return (
<FlatList
onLayout={(event) => { this.find_dimesions(event.nativeEvent.layout) }}
data={formatData(data, numColumns)}
style={styles.container}
renderItem={this.renderItem}
numColumns={numColumns}
/>
);
}
我期待父视图,即 redView 高度需要增加。
【问题讨论】:
标签: react-native react-native-ios react-native-flatlist