reactjs - 滚动内容时如何使页眉/页脚保持原位?
问题描述
如何在内容(在屏幕中间滚动)时使页眉和页脚保持在原位?
到目前为止,我尝试使用“flex”属性来做到这一点,但无济于事。
示例代码:
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { FlatList } from "react-native-web";
export default function App() {
const items = [];
for (let i = 1; i <= 200; i++) {
items.push(`Item number ${i}`);
}
return (
<View style={styles.container}>
<View>
<Text>HEADER VALUE</Text>
</View>
<FlatList
data={items}
keyExtractor={item => item}
renderItem={({item}) => <Text>{item}</Text>}/>
<View>
<Text>FOOTER VALUE</Text>
</View>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
本代码的Expo Snack:https ://snack.expo.io/NAoplIFmA
当前的行为是标题被滚动,就好像整个屏幕都被滚动视图包围了一样。但是屏幕被常规视图包围,所以我希望 FlatList 可以滚动,而 Header 保持在原位。
当 FlatList 的内容变得可滚动时,使页眉/页脚保持原位的正确方法是什么?
解决方案
您可以使用位置:“固定”
给你,这应该解决它..根据您的需要进行更改。
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { FlatList } from "react-native-web";
export default function App() {
const items = [];
for (let i = 1; i <= 200; i++) {
items.push(`Item number ${i}`);
}
return (
<View style={styles.container}>
<View style = {styles.header}>
<Text style = {{textAlign:'center'}}>HEADER VALUE</Text>
</View>
<FlatList
data={items}
keyExtractor={item => item}
renderItem={({item}) => <Text>{item}</Text>}/>
<View style = {styles.footer}>
<Text>FOOTER VALUE</Text>
</View>
</View>
);
}
const styles = StyleSheet.create({
header:
{
position:"fixed",
top:0,
left:0,
alignItems:'center',
justifyContent:'center',
width:'100%',
backgroundColor:'blue',
height:'50px'
},
footer:
{
position:"fixed",
bottom:0,
left:0,
alignItems:'center',
justifyContent:'center',
width:'100%',
backgroundColor:'blue',
height:'50px'
},
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
marginTop:'50px'
},
});
推荐阅读
- android - Android Room:样板代码
- python - Postgresql:使用时间条件插入新记录时更新旧记录
- mysql - 计算二年级复数结果时的问题
- javascript - 使用 Array.Sort 而不使用数组中的两个值
- android - FileProvider.getUriForFile:检查使用的权限
- c# - 在 XML 反序列化中将 XML 节点的值设置为 C# 模型上的字段
- kubernetes - 如何在 gke 中将 kube-controller-manager 中的 --horizontal-pod-autoscaler-sync-period 字段更改为 5sec
- c# - 实体框架要么不更新,要么在尝试更新时抛出异常
- dolphindb - 如何通过 Java API 获取 DolphinDB 表的模式
- asp.net - IIS 重定向到子文件夹而不是根文件夹中的登录页面的问题