Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在react native中显示flatList中的网格线

如何在react native中显示flatList中的网格线
EN

Stack Overflow用户
提问于 2018-11-27 11:05:52
回答 4查看 4.4K关注 0票数 2

我有员工的详细信息列表。我需要它们之间的网格线(以表格的形式查看)。如何在react原生中使用flatList?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <View >
                  <View style={Styles.empTab}>
                    <ScrollView horizontal={true} >
                      <View style={Styles.empTable}>
                        <Text>SL#</Text>
                        <FlatList
                          //style={Styles.empData}
                          data={this.state.empData}
                          keyExtractor={item => item.emp_id + ""}
                          renderItem={({ item }) => (
                            <View style={Styles.empitem}>
                              <Text>{item["emp_id"]}</Text>
                            </View>
                          )}
                        />
                      </View>

                      <View style={Styles.empTable}>
                        <Text>Name</Text>
                        <FlatList
                          //style={Styles.empData}
                          data={this.state.empData}
                          keyExtractor={item => item.emp_id + ""}
                          renderItem={({ item }) => (
                            <View  style={Styles.empitem}>
                              <Text>{item["name"]}</Text>
                            </View>
                          )}
                        />
                      </View>
                    </ScrollView>
                  </View>

结果如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SL#  Name 
1    ab     
2     gh 

我需要把它看作一个表格(即有行-列边框)

EN

回答 4

Stack Overflow用户

发布于 2018-11-27 13:07:51

您可以使用FlstListItemSeparatorComponent属性

因此,创建一个返回分隔符视图的函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
renderSeparatorView = () => {
    return (
      <View style={{
          height: 1, 
          width: "100%",
          backgroundColor: "#CEDCCE",
        }}
      />
    );
  };

现在在FlatList中使用此方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  <FlatList
        ...
        ItemSeparatorComponent={this.renderSeparatorView}
      />

这将创建一个水平分隔视图。

对于垂直分隔符视图,更改样式如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     style={{
          height: 100%, 
          width: "1",
          backgroundColor: "#CEDCCE",
        }}
票数 3
EN

Stack Overflow用户

发布于 2019-12-29 12:26:03

我使用下面的renderRow代码解决了这个问题。我在网格视图中有两列。请通过替换索引%X === 0和索引<= Y中的X来更改列长度,其中Y是列-1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
renderRow({ item, index }) {
    return (
      <View style={[styles.GridViewContainer, 
                    index % 2 === 0 ? {
                      borderLeftWidth: 1, borderLeftColor: 'black',
                      borderRightWidth: 1, borderRightColor: 'black',} 
                      : 
                      {borderRightWidth: 1, borderRightColor: 'black'}

                      ,{borderBottomWidth: 1, borderBottomColor: 'black'}
                      ,index <= 1 && {borderTopWidth: 1, borderBottomColor: 'black'}
                    ]}
      >

      ... render item code ...
        </View>
    )
  }
票数 1
EN

Stack Overflow用户

发布于 2018-11-27 13:13:33

找到一种简单的方法来创建表,我使用react-native-table-component来实现这一点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React, { Component } from "react";
import { StyleSheet, View } from 'react-native';
import { Table, TableWrapper, Row, Rows } from 'react-native-table-component';

export default class App extends Component {
  constructor(props) {
    super(props);

    this.state = {
      tableHead: ['SL#', 'Name'],
      tableData: [
        ['1', 'ab'],
        ['2', 'gh'],
        ['3', 'asdf'],
      ]
    }
  }
  render() {
    const state = this.state;
    return (
      <View style={styles.container}>
        <Table>
          <Row data={state.tableHead} flexArr={[1, 1]} style={styles.head} textStyle={styles.text} />
          <TableWrapper style={styles.wrapper}>
            <Rows data={state.tableData} flexArr={[1, 1]} style={styles.row} textStyle={styles.text} />
          </TableWrapper>
        </Table>
      </View>
    )
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    padding: 16,
    paddingTop: 30,
    backgroundColor: '#fff'
  },
  head: {
    height: 40,
    backgroundColor: '#f1f8ff'
  },
  wrapper: {
    flexDirection: 'row'
  },
  title: {
    flex: 1, backgroundColor: '#f6f8fa'
  },
  row: {
    height: 28
  },
  text: {
    textAlign: 'center'
  }
});

你可以在这里阅读更多内容:https://www.npmjs.com/package/react-native-table-component

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53498290

复制
相关文章
React Native组件之FlatList
在过去的一年中React Native经历了从v0.40到v0.52的十几次的版本迭代,可以看到,特别是0.50之后,React Native的组件库在不断地壮大,React Native也正在越来越稳定。
xiangzhihong
2022/11/30
1.2K0
React Native中FlatList组件不重新渲染Item解决方法
今天在写一个点击TouchableOpacity调用函数重新渲染图表的功能,一开始是点击之后图表可以正常切换但是TouchableOpacity颜色没有变化
henu_Newxc03
2022/05/05
2K0
React Native中FlatList组件不重新渲染Item解决方法
React Native列表之FlatList开发实用教程
在APP开发过程中,列表可谓是页面最重要的一种展现形式了,几乎每一个APP都离不了列表,那么在这篇文章中将向大家分享在React Native中该如何实现列表,以及FlatList的原理和实用指南。
CrazyCodeBoy
2019/12/10
6.6K0
React Native列表之FlatList开发实用教程
React Native 中的JSX学习
字面上来看JSX即 JavaScript XML取首字母结合,所以JSX并不是一门新语言,仅仅是个语法糖。
星宇大前端
2019/01/15
2.5K0
React Native中的FlexBox布局
React Native通过一个基于FlexBox的布局引擎,在所有移动平台上实现了一致的跨平台样式和布局方案。 FlexBox布局目前支持的属性有如下6个: (1)flex (2)flexDirection (3)alignSelf (4)alignItems (5)justifyContent (6)flexWrap 接下来,我们一个一个的看一下每个属性的作用。 (1)flex属性 当一个元素定义了flex属性时,表示该元素是可伸缩的(flex的属性值大于0的时候才可伸缩)。 var Demo = R
IT架构圈
2018/05/31
2.6K0
React Native的列表显示
前言 在一个移动App中,我们最常用的内容展现形式就是列表。今天,我们尝试用React Native完成对列表的开发。 ListView ListView作为一个React Native官方提供的控件,我们需要了解它的属性。 dataSource 是列表的数据源,通常以一个数组的形式传给ListView。 renderRow 是列表的表现层,我们可以获得dataSource的单项数据,然后用于单项渲染。 官方例子 import React, { Component } from 'react'; impor
Oceanlong
2018/07/03
1.9K0
react-native flatlist 上拉加载onEndReached方法频繁触发的问题
问题 在写flatlist复用组件时,调用的时候如果父组件是不定高的组件,会造成组件无法显示 如果父组件样式{flex:1},则会出现下拉方法频繁触发或不正常触发的问题(我这里出现的问题是在列表第6个项目在底部时,缓慢上拉会多次触发flatlist的onEndReached监听) 原因 推测是因为{flex:1}不适合做动态高度组件的父组件样式,会错误的判断高度导致onEndReached多次不正常触发。 解决 可以把列表上方所需的组件做成header属性传入组件当做flatlist的头部组件,这样就可以直
mcq
2018/06/27
3.3K0
React Native中的ReadableMap和WritableMap
React Native在跟安卓原生交互的数据类型中,有两个类型会经常被用的:ReadableMap和WritableMap,在讲解ReadableMap和WritableMap之前先看看Java于RN的类型的对应关系。
xiangzhihong
2022/11/30
2.7K0
处理React Native中Echarts图表不显示和缩小问题...
React Native APP进行打包之后,Echarts图标不显示问题解决方案:
做全栈攻城狮
2018/12/20
2.5K0
React Native之React速学教程(中)
React Native之React速学教程(中) 本文出自《React Native学习笔记》系列文章。 React Native是基于React的,在开发React Native过程中少不了的需要用到React方面的知识。虽然官方也有相应的Document,但篇幅比较多,学起来比较枯燥。 通过《React Native之React速学教程》你可以对React有更系统和更深入的认识。为了方便大家学习,我将《React Native之React速学教程》分为上、中、下三篇,大家可以根据需要进行阅读学习。 概
CrazyCodeBoy
2018/05/07
2.3K0
React Native之React速学教程(中)
如何在 React 中实现鼠标悬停显示文本?
在 React 应用中,当用户将鼠标悬停在某个元素上时,我们经常需要显示一些相关的文本,以提供额外的信息或交互提示。本文将详细介绍如何在 React 中实现鼠标悬停显示文本的功能,并提供示例代码帮助你理解和应用这个功能。
网络技术联盟站
2023/06/07
3.4K0
在React Native中优雅的使用iconfont
React Native大火大热,其中为了解决图标,易于修改,换颜色,高清等需求,iconfont的应用更是必不可少。 React Native中的iconfont 关于在React Native中使用iconfont,网上已有很多非常好的解决方案,用的最多的就是react-native-vector-icons , 这个库支持很多常用的iconfont,比如FontAwesome, Ionicons, MaterialIcons等等。 但是这个库依赖了不少iOS和Android的原生代码,这让一
Bob.Chen
2018/05/02
15.3K0
在React Native中优雅的使用iconfont
MobX 在 React Native开发中的应用
MobX 是一款精准的状态管理工具库,如果你在 React 和 React Native 应用中使用过 Flux、Alt、Redux 和 Reflux,那毫不犹豫地说,MobX 的简单性将成为你状态管
xiangzhihong
2018/01/26
12.4K0
MobX 在 React Native开发中的应用
MobX 是一款精准的状态管理工具库,如果你在 React 和 React Native 应用中使用过 Flux、Alt、Redux 和 Reflux,那毫不犹豫地说,MobX 的简单性将成为你状态管
xiangzhihong
2018/02/06
11.9K0
MobX 在 React Native开发中的应用
React-Native 开发中的小技巧
我们在编程开中,如果读取对象内部的某个属性,往往需要判断一下该对象是否存在。比如,要读取message.body.user.firstName,安全的写法是写成下面这样:
子晋
2022/01/18
2.3K0
React Native年度报告(2017-2018)
概述 在过去的一年中React Native经历了从v0.40到v0.52的十几次的版本迭代,我们看到在这十几次的版本迭代中React Native的组件库在不断地壮大,在新引进的组件中既有FlatList、SectionList等具有更高性能的列表组件,也有与时俱进的用于适配全屏幕的SafeAreaView组件,同时呢,一些性能较差、无法适应React Native未来发展的一些老的组件,如:ListView、Navigator等组件也逐渐退出了沙场。 本文将向大家总结React Native在过去的一年
CrazyCodeBoy
2018/05/07
2.7K0
React Native年度报告(2017-2018)
如何在VimVi中显示行号
Vim/Vi是许多软件开发人员和Linux系统管理员首选的文本编辑器。 默认情况下,Vim不显示行号,但可以轻松打开它们。Vim支持三种行编号模式,可帮助你浏览文件。除了标准的绝对行编号之外,Vim还支持相对行和混合行编号模式。 绝对行号 绝对行号是标准行号,它在每行文本旁边显示适当的行号。 要激活行编号,请设置数字标志: 按Esc键切换到命令模式。 按:(冒号),光标将移动到屏幕的左下角。输入set number或set nu,然后按Enter。 :set number 行号将显示在屏幕的左侧: 要禁用
入门笔记
2022/06/02
3.6K0
React Native跨平台开发2017 年终总结
从2016年开始关注React Native到现在,React Native的每一个版本发布我都会关注一下,虽然最近将重心转移到区块链开发上,这一年里,我还出版了一本《React Native移动开发实战》的书。在过去的一年中React Native经历了十几次的版本迭代,版本也从从v0.40升级到v0.52,总体来说,版本迭代没以前那么频繁,组件也越来越丰富,稳定性也越来越好了,下面就一些新组件,新API进行相关的总结。
xiangzhihong
2022/11/30
2.5K0
react-native-easy-app 详解与使用之(三) View,Text,Image,Flatlist
react-native-easy-app 是一款为React Native App快速开发提供基础服务的纯JS库(支持 IOS & Android),特别是在从0到1的项目搭建初期,至少可以为开发者减少30%的工作量。
rufeng008
2020/04/11
2.2K0
如何在 React 中引入 less?
本文主要写如何在 React 中引入 less 。因为 less 和 css 非常像,因此很容易学习。而且 less 仅对 css 语言增加了少许方便的扩展,这就是 less 如此易学的原因之一。
子舒
2022/06/09
3.9K0

相似问题

如何在FlatList React Native中显示JSON数据

10

如何在Flatlist中显示不同的数据集。React Native

12

如何在FlatList React FlatList/React中显示状态?

110

React Native:如何在FlatList中播放视频

136

如何在react native中动态更新FlatList?

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文