繁体   English   中英

react-bootstrap-table-multiColumnSearch-需要两列数据而不是全部匹配

[英]react-bootstrap-table - multiColumnSearch - Require data from two columns instead of match all

我想在react-bootstrap-table multiColumnSearch修改搜索以要求来自两个或更多列的数据,而不是匹配表中的所有数据。

例:

ID   FAMILY     YEAR
---------------------
1   FAMILY-1    2010
2   FAMILY-1    2011
3   FAMILY-2    2010
4   FAMILY-2    2011

查询: FAMILY-1 2010

当前结果:

ID   FAMILY     YEAR
---------------------
1   FAMILY-1    2010
2   FAMILY-1    2011
3   FAMILY-2    2010

所需结果:

ID   FAMILY     YEAR
---------------------
1   FAMILY-1    2010

当前代码:

options: Options = {
    defaultSortName: 'Id',
    defaultSortOrder: 'desc', 
    noDataText: 'Empty data',
    onRowClick: this.onRowClick.bind(this)
};
render() {
    return (
        <div>
            <BootstrapTable containerStyle={{ marginTop: '10px' }} data={this.state.tableCases} options={this.options} striped={true} hover={true} search multiColumnSearch>
                <TableHeaderColumn dataField='Id' isKey={true} dataSort={true}>Case ID</TableHeaderColumn>
                <TableHeaderColumn dataField='CompanyName' dataSort={true}>Company Name</TableHeaderColumn>
                <TableHeaderColumn dataField='Title' dataSort={true}>Title</TableHeaderColumn>
                <TableHeaderColumn dataField='Family' dataSort={true}>Family</TableHeaderColumn>
                <TableHeaderColumn dataField='ApplicationDate' dataSort={true}>Application Date</TableHeaderColumn>
            </BootstrapTable>
        </div>
    );
}

https://allenfang.github.io/react-bootstrap-table/docs.html#multiColumnSearch

更新:

感谢@FiriceNguyen,我得以解决它。 在DefinitelyTyped中添加了对strictSearch的拉取请求,以便其他人将来可以使用它。 码:

<div>
    <BootstrapTable containerStyle={{ marginTop: '10px' }} data={this.state.tableCases} options={this.options} striped={true} hover={true} search multiColumnSearch strictSearch>
        <TableHeaderColumn dataField='Id' isKey={true} dataSort={true}>Case ID</TableHeaderColumn>
        <TableHeaderColumn dataField='CompanyName' dataSort={true}>Company Name</TableHeaderColumn>
        <TableHeaderColumn dataField='Title' dataSort={true}>Title</TableHeaderColumn>
        <TableHeaderColumn dataField='Family' dataSort={true}>Family</TableHeaderColumn>
        <TableHeaderColumn dataField='ApplicationDate' dataSort={true}>Application Date</TableHeaderColumn>
    </BootstrapTable>
</div>

https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19629

在您的情况下,我认为您希望使用AND运算符,而不是应用2/3列。 您的查询是搜索FAMILY-1 OR 2010 ,以便您当前的结果正确。

无论如何, strictSearch您的需求。 您可以在此处参考有关搜索模式的详细信息。 在您的情况下,配置应strict && !multiColumn

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM