2017-10-16 6 views
1

J'ai besoin d'aide. J'ai une source de données sur ma table antd dans mon composant React.Component. Sur cette table, j'ai mis le expandedRowRender attribut:Réagir antd table expandRowRender

<Table 
    bordered 
    size="small" 
    columns={columns} 
    rowKey={record => record.id} 
    expandedRowRender={record => (
     <ProductDetailView 
     record={record} 
     onChange={this.OnCoverageProductNumberChanged()} 
     /> 
    )} 
    dataSource={products} 
    pagination={this.state.pagination} 
    loading={this.props.isProductsLoading} 
    onChange={this.handleChange} 
    /> 

qui envoie actuellement un enregistrement à ProductDetailView qui est un react.component. J'aimerais savoir comment envoyer l'index des lignes à l'événement onChange, afin que je puisse suivre la ligne que je regarde.

J'espère que c'est assez d'informations, fondamentalement j'ai juste besoin de savoir comment envoyer l'index de rangée à mon événement onChange.

Merci d'avance.

+0

Vous voulez envoyer l'index de ligne à la onChange pour le composant 'ProductDetailView' ou pour le composant 'Table'? –

+0

l'index de ligne de tables sur lequel productdetailview est créé. Ce serait bien. –

Répondre

1

La deuxième variable de

expandedRowRender={(record, i) => <p>{i}</p>} 

est l'indice de ligne

vous pouvez passer comme ça

expandedRowRender={(record, i) => 
    <ProductDetailView 
     record={record} 
     onChange={() => this.OnCoverageProductNumberChanged(i)} 
    /> 
} 
+0

Ahh vous êtes une bouée de sauvetage. Je suis actuellement nouveau à l'ensemble des expressions lambda et réagit/javascript. Je vais accepter dès que stackoverflow me le permet aussi –

+1

Votre bienvenue, habituellement fonction de boucle dans React va définir la deuxième variable comme index, j'ai vérifié le document de [antd] il ne montre pas clairement, mais quand j'ai essayé au niveau du code ça montre que c'est correct. –