1.1.0 • Published 2 years ago

react-native-scrollview-table v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

react-native-scrollview-table

This is a react native scrolling table with thead and left first column fixed, suitable for android and ios

Installation

android

yarn add react-native-react-native-scrollview-table

or

npm install react-native-react-native-scrollview-table

ios

cd ios && pod install

Basic usage

import ScrollTable from 'react-native-scrollview-table';

<ScrollTable
  data={dataSource}
  columns={columns}
/>

npm.io scrollTable

npm.io

npm.io

props

props extends native ScrollViewProps

NameTypeDefaultDescription
dataobject[]-*required
columnsColumnsType[]-*required
rowHeightnumber40A unified line height
loadingboolean | undefined-
refreshingboolean-
horizontalScrollboolean-
paginationIpagination{}
stylesIstyle{}
emptyConfigEmptyPropsTypetext: 'no data'
restScollViewextend Native ScrollViewProps-
rowStylefunction(index?: number) => ViewStyle;-custom a row of style
onChangefunction(pagination: Ipagination, order: Isort) => void;-Paging and sorting table, must with pagination
onRefreshfunction() => void;-
onRowPressfunction(item: any, index: number) => void;-
renderFooterfunction() => ReactNode;-

interface Icolumns {
  dataIndex: string;
  title?: string | ReactNode;
  flex?: number; // first col is the percentage of the screen width,otherwise is on the right side of the width of the scroll area percentage
  style?: ViewStyle; // teble cell style
  sorter?: Iorder;
  sortEmpty?: boolean;
  sortHeaderAlign?: HeaderAlign;  // only control order col style
  render?: (value?: string | number, item?: any) => string | ReactNode;
}

type Ipagination {
  pageIndex: number; // required
  pageTotal: number; // required
  startIndex: number; // required The start page paging (somebody like start start with 0)
}

type Istyle {
  theaderStyle?: ViewStyle;
  tbodyStyle?: ViewStyle;
}

interface EmptyPropsType {
  style?: ViewStyle,
  extra?: React.ReactNode;
  image?: NodeRequire;
  imageStyle?: ImageStyle;
  text?: string;
  textStyle?: TextStyle;
}
type HeaderAlign = 'flex-start' | 'flex-end' | 'center';
type IjustifyContent = "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
type Iorder = "" | "asc" | "desc";