Ошибка: фильтр не определен при назначении пользовательского ввода в поле текста в качестве фильтра для компонента- bootstrap -table2-filter - PullRequest
1 голос
/ 09 февраля 2020

Я пытаюсь настроить поле «Текст ввода» для опции, подобной реагирующему фильтру bootstrap -table2, доступной в https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Column%20Filter&selectedStory=Programmatically%20Text%20Filter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel

Я пытаюсь использовать приведенный ниже фрагмент кода

let dataFilter;

const handleTextChange = (searchDataText) => {
    console.log(searchDataText.target.value);
    dataFilter(searchDataText.target.value);
};

// This is static and used to define Table Header properties
const columns = [{
    dataField: 'data'
    , text: ""
    , headerFormatter: (column, colIndex) => (<i className="fa fa-podcast"> Name</i>)
    , sort: true
    , filter: textFilter({
        getFilter: (filter) => {
            // dataFilter was assigned once the component has been mounted.
            dataFilter = filter;
        }
    })
    , headerStyle: {backgroundColor: '#6495ed'}
    , headerAlign: 'center'
    , align: 'center'
    }]

...
...
 <Form.Control type="text" placeholder="Search POD" name="search_data_filter"


                                           onChange={handleTextChange}/>

 <BootstrapTable keyField='dataKey' data={this.state.tableRows}
                                                    columns={columns} bootstrap4={true}
                                                    defaultSorted={defaultSorted} striped
                                                    hover filter={filterFactory()}
                                                    pagination={paginationFactory()}
                                                    filter={filterFactory()}
                                    />

это почти точно приведенная инструкция в приведенной выше ссылке. Но когда я выполняю код, при выводе на консоль я вижу, что набранный текст правильно перехватывается, и когда он пытается перейти к фильтру, возникает ошибка ...

dataFilter не является функцией

Любая подсказка, альтернативный подход для реализации пользовательского ввода текста в виде поля фильтра вне области таблицы?

...