2017-05-01 16 views
2

Iは、文字列の2次元配列を有し、そしてIは、以下のルーチンを使用して、画面に表示:LIstViewの各行にボタンを追加する方法は?

class MyComponent extends Component { 
    props: { strings: Array<Object>, onPress: Function }; 
    render() { 
       return (
        <View> 
         {this.props.strings.map((string) => { return (<Text>{string}</Text>); }) } 
        </View>); 
       } 
} 

render() { 
     // .. 
     let DataSource = ds.cloneWithRows(My2dArray); 
     return ( 
       <View> 
        <ListView 
         dataSource={DataSource} 
         renderRow={this.renderRow.bind(this)} 
        /> 
       </View> 
       ); // return 
    } // render 

renderRow(row: Object) { 
     return (
      <MyComponent SingleRow = {row} /> 
     ); // return 
} // rendeRow 

は出力:

enter image description here

Iが行ごとにボタンを持っていると思い、このような何か:

enter image description here

しかし、私はわかりませんrenderRow()機能でボタンを設定するにはどうすればいいですか?どんな助け?

おかげ

+0

なぜdownvote? –

+0

@ Yozi私はちょうどこれらを学び始めました。私は 'Button'を使う方法を知っていますが、文字列の"内側 "のリスト(各グループには一つのボタンを持つ)の" _above_ " –

答えて

1

あなたはViewで何かをラップし、ブロックに行を分割することができます。私はあなたのボタンで文字列と右のブロックを持つ左のブロックを意味する、このような何か

class MyComponent extends Component { 
    render() { 
    return (
     <View styles={{display: "flex", flexDirection: "row"}}> 
      <View styles={{flex: 1, display: "flex", flexDirection: "column"}}> 
      { 
       this.props.strings.map((string) => { return (<Text>{string}</Text>); }) 
      } 
      </View> 
      <View> 
      <Button title="+" /> 
      </View> 
     </View> 
    ); 
    } 
関連する問題