javascript - 在 Griddle 中使用自定义过滤器输入组件

标签 javascript forms reactjs html-table griddle

我正在使用 griddle用于创建表格的 React 组件。

Griddle 支持一个额外的属性来显示一个过滤器输入元素,它可以操作表格。

有没有办法在 griddle 中使用你自己的独立表单/输入。以便在提交第三方输入时我可以触发 griddle 中的一些函数来更新表?

我看过 docs并提出问题 here在项目上。我不知道如何做到这一点。

最佳答案

this demo 中所示您可以指定自定义过滤器和自定义组件:

var _ = require('underscore'),
    squish = require('object-squish');

var customFilterFunction = function(items, query) {
  return _.filter(items, (item) => {
    var flat = squish(item);

    for (var key in flat) {
      if (String(flat[key]).toLowerCase().indexOf(query.toLowerCase()) >= 0)
        return true;
    }

    return false;
  });
};

var customFilterComponent = React.createClass({
  getInitialState() {
    return {
      "query": ""
    };
  },
  searchChange(event) {
    this.setState({
      query: event.target.value
    });
    // this line is important
    this.props.changeFilter(this.state.query);
  },
  render() {
    return (
      <div className="filter-container">
        <input type="text"
               name="search"
               placeholder="Search..."
               onChange={this.searchChange} />
      </div>
    );
  }
});

然后您可以像这样初始化您的 Griddle 表:

React.render(
  <Griddle results={fakeData} showFilter={true}
    useCustomFilterer={true} customFilterer={customFilterFunction}
    useCustomFilterComponent={true} customFilterComponent={customFilterComponent}/>,
  document.getElementById('griddle')
);

Prop changeFilter 被传递给您的 customFilterComponent 因为它是 GriddlecustomFilterComponent Prop 。

关于javascript - 在 Griddle 中使用自定义过滤器输入组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32636003/

相关文章:

javascript - 慢慢地动画一条简单的线

javascript - 什么是平均文件:workspaces in package dependencies?

reactjs - 为什么类型 SFC<AnchorProps> 不能分配给类型 SFC<{}>?

javascript - 无法使用 RN 中的对象数组更新状态

javascript - 如何确保提交表单时不显示另一个(新)页面

javascript - 反转存储在 javascript 变量中的 JSON 数组

javascript - "Cannot read property ' addEventListener ' of null"仅在从codepen导出后出现

javascript - 获取每个元素的 id

c# - 从 HttpListenerRequest 获取表单数据

javascript - 获取弹出窗体中按钮的值