你好,我是 React Native 的新手,我想制作一个考勤系统,教师可以在其中选择学生并设置缺席或出席。我想知道哪个更适合数据发布,因为我必须显示所有学生并且默认设置为当前。如果有学生缺席,我将设置为“A”,这是我的逻辑。
最佳答案
我假设 ListView 实际上指的是 FlatList 或 SectionList,因为 ListView 实际上已被弃用。因此,我将以 Table vs FlatList
的形式回答您的问题。 . https://facebook.github.io/react-native/docs/flatlist
据我所知,react-native 中实际上没有 Table 组件。您可以使用如下代码构建与表格等效的内容:
<View>
<View>
<Text>John</Text>
<CheckboxButton />
</View>
<View>
<Text>James</Text>
<CheckboxButton />
</View>
<Text>Bob</Text>
<CheckboxButton />
</View>
</View>
CheckBox 不是 React-Native 的核心,您必须自己制作
但是!这是笨拙和恶心的,真的不是最好的方法。那就是说你可以缩小它并移动 <View>
child 自己的功能就像
const student = (name) => {
return (
</View>
<Text>{name}</Text>
<CheckboxButton />
</View>
)
}
然后映射对象中每个学生的名字。但这又一次没有避免这个问题,问题是这一切都需要某种形式的 CSS 来保持它的干净以及它自己的方法在某处映射和生成子对象作为 student
。到父对象。
替代方案是 ListView,因为这不是自定义组件,所以使用起来更有条理和更简洁。它仍然有它奇怪的 react-native 怪癖,特别是在样式方面,但美妙之处在于,您不必编写多种方法来构建您的表,您只需定义您的对象并将其解析为 ListView。
例如:
const student = name => <View> <Text>{name}</Text> <checkBox /> </View>;
<FlatList
data={this.props.students}
renderItem={({item}) => student(items)}
/>
Much Much Cleaner,它带来了许多样式选项。 请记住,其中很多都是伪代码,我现在没有能力纠正示例,但这些都是基于我从我自己的 react-native github 存储库中提取的示例,因此它们应该足够接近功能。
一切顺利,如有任何问题请在评论中跟进。
关于android - 用于数据发布的 native 表与 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51606943/