android - 用于数据发布的 native 表与 ListView

标签 android listview react-native

你好,我是 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/

相关文章:

android - 如何将本地新创建的java类对象返回给java android?

Android:定义 onDraw Canvas 大小

javascript - 钛合金ListView标签的嵌套模型数组

java - 如何创建视频和图像的 ListView?

android - 为什么android :listSelector incorrectly change from Activity to Activity

android - react-native-device-info get getUniqueID() 不适用于 android 中的 react native 和 expo

javascript - Android Studio React Native 构建失败

android - 钛手机 : Requested module not found

android - 在 OpenFeint 中解锁成就

javascript - 分离一个太大的 reducer - 出现错误