2017-06-04 19 views
0

ReactプロジェクトをReact Nativeに移行していて、React Nativeでグリッドレイアウトを設定するのに役立つ必要があります。私は5列x行(行の数は​​異なる場合があります)のビューを設定したいと考えています。私はreact-native-tableview-simpleパッケージを使いましたが、セルのスパンを指定することはできません。また、私は列を設定することができるreact-native-flexbox-gridパッケージを試しましたが、まだ特定のセルのスパン幅を設定することはできません。私が使うことができるものがあれば不思議です。参考のためReact Nativeでテーブルレイアウトを設定する

、私はこのような線に沿って何かを見て、私の表のようになる:

 |Col 1|Col 2|Col 3|Col 4|Col 5| 
    |------------------------------ 
Row 1|  Text  | Yes | No | 
    |------------------------------ 
Row 2|  Text  | Yes | No | 
    |------------------------------ 
Row 3|  Text  | Dropdown | 

答えて

3

あなたはすべてのパッケージなしでこれを行うことができます。各行がまったく同じ場合は、次の方法で問題を解決できます。

export default class Table extends Component { 
    renderRow() { 
     return (
      <View style={{ flex: 1, alignSelf: 'stretch', flexDirection: 'row' }}> 
       <View style={{ flex: 1, alignSelf: 'stretch' }} /> { /* Edit these as they are your cells. You may even take parameters to display different data/react elements etc. */} 
       <View style={{ flex: 1, alignSelf: 'stretch' }} /> 
       <View style={{ flex: 1, alignSelf: 'stretch' }} /> 
       <View style={{ flex: 1, alignSelf: 'stretch' }} /> 
       <View style={{ flex: 1, alignSelf: 'stretch' }} /> 
      </View> 
     ); 
    } 

    render() { 
     const data = [1, 2, 3, 4, 5]; 
     return (
      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> 
      { 
       data.map((datum) => { // This will render a row for each data element. 
        return this.renderRow(); 
       }); 
      } 
      </View> 
     ); 
    } 
} 
+0

ありがとう、私はこれが私が必要と思う! – jamesvphan

+0

私が持っている質問の1つは、複数の列にまたがるセルを広げたい場合、その指定方法がありますか?私の行/列のレイアウトは静的なので、これを実現するにはセルに固定幅を設定するだけでしょうか? – jamesvphan

+0

フレックスを使用する方がはるかに優れています。私があなただったら、renderRow関数にセルフレックス値を指定する配列を与えます。その後、Viewのスタイル部分については、flexVals [0]、flexsVals [1]などを書くだけです。 そこにdata.mapを使用しても、クリーナーを使用することができます。 @ jamesvphan –

0

ここで答えを探したところ、私はブートストラップテーブルとよく似た、本当に素晴らしいライブラリを発見しました。私はReact Nativeのレイアウトが非常に難しいと判断しましたが、このライブラリは予測可能なレイアウト結果を提供します。

React Native Easy Grid

私はネイティブ反応するように、基本的なフレックステーブルを内蔵しなければならないことに同意するが、彼らは、このライブラリは私のために素晴らしい仕事をしているまで。

関連する問題