FlatListFooter 无法显示
FlatListFooter can't be displayed
我想为我的 flatList 添加页脚:
我试试这个代码:
renderFooter = () => {
return (
<View
style={{
paddingVertical: 20,
borderTopWidth: 1,
borderColor: "#CED0CE"
}}
>
<Button> This is footer </Button>
</View>
);
}
<FlatList
data={menuData}
renderItem={({item}) => <DrawerItem navigation={this.props.navigation} screenName={item.screenName} icon={item.icon} name={item.name} key={item.key} />}
ListFooterComponent ={this.renderFooter}
/>
但是 运行 时没有页脚出现。
任何帮助请
您使用了组件
ListFooterComponent
以正确的方式。您需要检查页脚的渲染方法。我遇到了同样的问题,我以 this 为例,它对我有帮助。希望对你有所帮助。
简单way/hack。在 menuData 数组中,您只需向子对象添加一个标志(我调用)以指示它是最后一项。例如:
如果您可以修改 menuData 结构,添加 lastItem 属性 true 以指示它是最后一项:
const menuData = [
{name:'menu1', screenName:'screen1', icon:'../assets/icon1.png'},
{name:'menu2', screenName:'screen2', icon:'../assets/icon2.png', lastItem:true}
];
然后
renderFlatItems = ({item}) => {
const itemView = null;
if (!items.lastItem) {
itemView = <DrawerItem navigation={this.props.navigation} screenName={item.screenName} icon={item.icon} name={item.name} key={item.key} />
} else {
itemView = <View style={{padding:100}}><Button> This is footer </Button> </View>
}
return {itemView};
}
然后像这样在 Flatlist 中使用它
<FlatList
data={menuData}
renderItem={this.renderFlatItems}
/>
如果您希望页脚保留在列表的屏幕底部 "Above",那么您可以在 FlatList 之后添加一个视图。
<View>
<FlatList style={{flex: 1}} />
<View
style={{
position: 'absolute',
left: 0,
right: 0,
bottom: 0,
height: 50,
}}
/>
</View>
我想为我的 flatList 添加页脚: 我试试这个代码:
renderFooter = () => {
return (
<View
style={{
paddingVertical: 20,
borderTopWidth: 1,
borderColor: "#CED0CE"
}}
>
<Button> This is footer </Button>
</View>
);
}
<FlatList
data={menuData}
renderItem={({item}) => <DrawerItem navigation={this.props.navigation} screenName={item.screenName} icon={item.icon} name={item.name} key={item.key} />}
ListFooterComponent ={this.renderFooter}
/>
但是 运行 时没有页脚出现。
任何帮助请
您使用了组件
ListFooterComponent
以正确的方式。您需要检查页脚的渲染方法。我遇到了同样的问题,我以 this 为例,它对我有帮助。希望对你有所帮助。
简单way/hack。在 menuData 数组中,您只需向子对象添加一个标志(我调用)以指示它是最后一项。例如:
如果您可以修改 menuData 结构,添加 lastItem 属性 true 以指示它是最后一项:
const menuData = [
{name:'menu1', screenName:'screen1', icon:'../assets/icon1.png'},
{name:'menu2', screenName:'screen2', icon:'../assets/icon2.png', lastItem:true}
];
然后
renderFlatItems = ({item}) => {
const itemView = null;
if (!items.lastItem) {
itemView = <DrawerItem navigation={this.props.navigation} screenName={item.screenName} icon={item.icon} name={item.name} key={item.key} />
} else {
itemView = <View style={{padding:100}}><Button> This is footer </Button> </View>
}
return {itemView};
}
然后像这样在 Flatlist 中使用它
<FlatList
data={menuData}
renderItem={this.renderFlatItems}
/>
如果您希望页脚保留在列表的屏幕底部 "Above",那么您可以在 FlatList 之后添加一个视图。
<View>
<FlatList style={{flex: 1}} />
<View
style={{
position: 'absolute',
left: 0,
right: 0,
bottom: 0,
height: 50,
}}
/>
</View>