Пожалуйста, посмотрите на этот фрагмент кода, он добавляет метку сетки и функцию onclick
Часть, которую я не понял, это переключение на развал / развал.
Я также сталкивался с этим свойством expandField , но я не знаю, как его использовать.
class DetailComponent extends GridDetailRow {
render() {
const dataItem = this.props.dataItem;
return (
<section>
<p><strong>In Stock:</strong> {dataItem.UnitsInStock} units</p>
<p><strong>On Order:</strong> {dataItem.UnitsOnOrder} units</p>
<p><strong>Reorder Level:</strong> {dataItem.ReorderLevel} units</p>
<p><strong>Discontinued:</strong> {dataItem.Discontinued}</p>
<p><strong>Category:</strong> {dataItem.Category.CategoryName} - {dataItem.Category.Description}</p>
</section>
);
}
}
class App extends React.Component {
state = {
data: products.slice(0)
}
expandChange = (event) => {
event.dataItem.expanded = !event.dataItem.expanded;
this.forceUpdate();
}
render() {
return (
<Grid
data={this.state.data}
detail={DetailComponent}
style={{ height: '400px' }}
expandField="expanded"
onExpandChange={this.expandChange}
>
<Column field="ProductName" title="Product" width="300px" />
<Column field="ProductID" title="ID" width="50px" />
<Column field="UnitPrice" title="Unit Price" width="100px" />
<Column field="QuantityPerUnit" title="Qty Per Unit" />
</Grid>
);
}
}
class ShowAlert extends React.Component {
showAlert() {
alert("Im an alert");
}
render() {
return <a className='k-link' onClick={this.showAlert}>+/-</a>;
}
}
export default ShowAlert;
ReactDOM.render(
<App />,
document.querySelector('my-app')
);
const heirarchyElement = document.getElementsByClassName("k-hierarchy-cell")[0];
ReactDOM.render(<ShowAlert />, heirarchyElement);