我正在使用griddle一个react组件来创建一个表.
Griddle支持额外的属性来显示过滤器输入元素,该元素操纵表格.
有没有办法使用自己独立的表格/输入与平板炉.那么当提交第三方输入时,我可以在griddle中触发一些函数来更新表吗?
干锅支持子网格.我在一个改变状态的字段中有一个自定义组件(用于行选择).此状态更改会导致重新呈现,从而折叠子网格.但是,我希望它保持开放.
此相同的问题是记录在这个Github的问题,其中包括本实施例(感谢@denzelby Github上的),在该过滤折叠该子网格.
请注意来自小提琴的代码如何更新状态onCountClick
(单击"inc"按钮),导致重新渲染:
var GridAndCounter = React.createClass({
render: function() {
var columnNames = ['id', 'age', 'name', 'company', 'state', 'country', 'favoriteNumber'];
var rowMetadata = {key: "id"};
return <div><Counter count={this.state.count} onClick={this.onCountClick} /><Griddle results={fakeData} rowMetadata={rowMetadata} columnNames={columnNames} resultsPerPage={100} showFilter={true} /></div>
},
onCountClick: function() {
React.addons.Perf.start();
this.setState({count: this.state.count + 1 });
setTimeout(function() {
React.addons.Perf.stop();
React.addons.Perf.printDOM();
}, 500);
},
getInitialState: function() {
return { count: 0 };
}
})
Run Code Online (Sandbox Code Playgroud)
此状态更新会导致重新呈现,将所有内容设置为折叠.如何在重新渲染时保持所有内容?我也许可以跟踪哪些是自己扩展的,但后来我需要一种编程方式来扩展行,这是我没有用Griddle发现的.
负责从 Griddle v0.7 升级到 Griddle v1.1。但我似乎无法让 onRowClick 工作。
import React, { Component } from 'react';
import Griddle from 'griddle-react';
export default class Table extends Component {
render() {
const data = [...something];
return <Griddle
data={data}
onRowClick={() => console.log("row clicked")} />
}
}
Run Code Online (Sandbox Code Playgroud)
如果我查看 github 或其他示例上的问题,这应该可以正常工作。