Tablo oluşturmak için Reactable kullanıyorum. İşlem kutusuna tıklandığında, stili değiştirerek o satır hakkında görünecek ek bilgi içeren bir kutu istiyorum. Bu benim kod şimdiye kadar geçerli:React - Parametrelerle aynı sınıftaki olaylar
var SelLines = new Object();
var Home = React.createClass({
handleClick: function(e) {
console.log("##Clicked##");
},
render: function() {
var tableRows = Data.map(function(tableRow) {
console.log(tableRow);
SelLines[tableRow.ID] = false;
console.log(SelLines);
if (SelLines[tableRow.ID]) {
return (
<Tr>
<Td column="ID">{tableRow.ID}</Td>
<Td column="DESCRIPTION">{tableRow.DESCRIPTION}</Td>
<Td className="cellSelected" column="ACTION"><a onClick={SelLines[tableRow.ID] = true;Home.handleClick}>{tableRow.ACTION}</a></Td>
//// = true;Home.h ## not working
</Tr>
);
} else {
return (
<Tr>
<Td column="ID">{tableRow.ID}</Td>
<Td column="DESCRIPTION">{tableRow.DESCRIPTION}</Td>
<Td className="cellNotSelected" column="ACTION"><a onClick={Home.handleClick}>{tableRow.ACTION}</a></Td>
</Tr>
);
}
});
return (
<div>
<div>
<Table className="table" id="table">
<Thead>
<Th column="ID">
<strong className="ID-header">ID</strong>
</Th>
<Th column="DESCRIPTION">
<em className="DESCRIPTION-header">DESCRIPTION</em>
</Th>
<Th column="ACTION">
<em className="ACTION-header">ACTION</em>
</Th>
</Thead>
{tableRows}
</Table>
</div>
</div>
);
}
});
nasıl handleClick bir parametre iletebilirsiniz?
'onClick = {SelLines [tableRow.ID] = Gerçek Home.handleClick} 'eşdeğer' {onClick olduğu ; Home.handleClick} '. Bu sadece geçersiz JavaScript. '{...}' yalnızca * ifadeleri * içerebilir. –
Biçimlendirmenizi düzeltebilir misiniz? Ayrıca, 'map' işlevinizde' SelLines [tableRow.ID] = false' ayarlıyorsunuz, böylece 'true' durumuna asla ulaşmayacaksınız. – Aaron
@PL Biçimlendirmenizi sizin için çözdüm. Bir dahaki sefere lütfen iyi biçimlendirilmiş kodu gönderin. – Aaron