2017-09-08 1 views
1

Ich habe Schwierigkeiten, Daten in meine Schublade zu geben. Ich möchte eine Zeile aus einer Tabelle in einer Additem.js-Seite auswählen und jedes Klicken der Zeile, in der die Daten darin angezeigt werden sollen, in meiner Schublade, die AdditemDrawer.js ist.So übergeben Sie ein Array an eine andere Seite

hier ist mein Code von Additem.js:

//Additem.js 
    RowSelection(key) { 
     var itemselected = Data.tablePage.items[key]; 
      console.log(key, itemselected); 
     } 

     <Table multiSelectable={this.state.multiSelectable} 
       onRowSelection={this.RowSelection}> 
       <TableHeader> 
       <TableRow> 
        <TableHeaderColumn style={tablestyles.columns.id}>ID</TableHeaderColumn> 
        <TableHeaderColumn style={tablestyles.columns.name}>Name</TableHeaderColumn> 
        <TableHeaderColumn style={tablestyles.columns.price}>Price</TableHeaderColumn> 
        <TableHeaderColumn style={tablestyles.columns.category}>Category</TableHeaderColumn> 
        <TableHeaderColumn style={tablestyles.columns.edit}>Edit</TableHeaderColumn> 
       </TableRow> 
       </TableHeader> 
       <TableBody> 
       {Data.tablePage.items.map(item => 
        <TableRow key={item.id}> 
        <TableRowColumn style={tablestyles.columns.id}>{item.id}</TableRowColumn> 
        <TableRowColumn style={tablestyles.columns.name}>{item.name}</TableRowColumn> 
        <TableRowColumn style={tablestyles.columns.price}>{item.price}</TableRowColumn> 
        <TableRowColumn style={tablestyles.columns.category}>{item.category}</TableRowColumn> 
        <TableRowColumn style={tablestyles.columns.edit}> 
        </TableRowColumn> 
        </TableRow> 
       )} 
       </TableBody> 
      </Table> 

speichere ich bereits die Zeile, die in der itemselected Variable, und hier ist meine Schublade Code geklickt wurde:

//AdditemDrawer.js 
    import Additem from '../containers/Additem'; 
    <Paper style={papers} zDepth={5} > 
      <List additem={Additem.itemselected}> 
      </List> 
    </Paper> 

aber es gibt keinen Ausgang und Fehler . wie kann ich es reparieren?.

+0

Ich muss noch etwas fragen, um Ihre Frage zu verstehen. Wenn Sie auf die Tabellenzeile von Additem.js klicken, möchten Sie ausgewählte Zeilendaten von AdditemDrawer.js erhalten? –

+0

Ja, Sir, das versuche ich zu lösen. –

+0

Oh ok. Sie können diese Problemumgehung, denke ich. Sie können die RowSelection-Funktion von AdditemDrawer.js auslösen. RowSelection gibt jedoch einige Daten zurück. Jetzt schreibe es einfach Konsole. Diese Antwort hängt auch mit Ihrem Problem zusammen, denke ich. https://Stackoverflow.com/a/43657889/4153009 –

Antwort

0

Ich denke, funktioniert nicht, weil es außerhalb des Geltungsbereichs ist. Die beste Vorgehensweise ist die Verwendung redux, bitte versuchen Sie es!

Verwandte Themen