Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 有没有办法从react引导表中的任何列切换属性?_Reactjs_React Bootstrap_React Bootstrap Table - Fatal编程技术网

Reactjs 有没有办法从react引导表中的任何列切换属性?

Reactjs 有没有办法从react引导表中的任何列切换属性?,reactjs,react-bootstrap,react-bootstrap-table,Reactjs,React Bootstrap,React Bootstrap Table,我在我们的项目中使用react引导表react库来创建表,现在想知道是否有方法从TableHeaderColumn切换属性 例如,在下面的示例代码中,如果布尔值为true或false,我想添加或删除filter属性 <BootstrapTable version="4" data={data} options={options} hover={true} pagination={true}

我在我们的项目中使用react引导表react库来创建表,现在想知道是否有方法从TableHeaderColumn切换属性

例如,在下面的示例代码中,如果布尔值为true或false,我想添加或删除filter属性

    <BootstrapTable
        version="4"
        data={data}
        options={options}
        hover={true}
        pagination={true}
        search={true}
     >
         <TableHeaderColumn
             dataField="customerName"
             filter={{ type: "TextFilter", delay: 10 }}
             dataSort={true}
             caretRender={displaySortOrder}
         >
         Customer Name
         </TableHeaderColumn>

        <TableHeaderColumn
             dataField="Address"
             dataSort={true}
             caretRender={displaySortOrder}
         >
             Address                   
         </TableHeaderColumn>

    </BootstrapTable>

可以在表中隐藏过滤器,并使用refs标记管理行为以应用或清理过滤器

首先,您需要定义过滤器的类:

const filterStyle = { display: 'none' };
const filterObj = { type: 'TextFilter', delay: 1000, style: filterStyle };
然后可以在列中定义refs标记和过滤器:

<TableHeaderColumn ref="workshiftFilter" dataField="workshift" filter={filterObj} > ColumnTitle </TableHeaderColumn>
}

通过这种方式,您可以在列中激活或禁用过滤器

问候

handleWorkshiftFilter = (selectedOption) => {
 switch (selectedOption.value) {
   case 'A':
     this.refs.workshiftFilter.applyFilter('A')
     break;
   case 'B':
     this.refs.workshiftFilter.applyFilter('B')
     break;
   case 'C':
     this.refs.workshiftFilter.applyFilter('C')
     break;
   default:
     this.refs.workshiftFilter.cleanFiltered();
     break;
 }
 return;