我需要在折叠/展开列的标题中添加文本“ +/-”,以了解kendo react中的详细信息行。我还想添加和事件,以便当用户单击该列时,它会展开或折叠所有行。我使用this创建了详细信息行。
答案 0 :(得分:0)
请查看此代码段,其中添加了网格标签和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);
答案 1 :(得分:0)
Telerik为此提供了答案:https://stackblitz.com/edit/react-abh1id?file=app/main.jsx
我已经调试了kendo-react库,不可能实现。我已经为kendo React https://feedback.telerik.com/kendo-react-ui/1408002-change-header-detail-rows
打开了功能请求