AllenFang / react-bootstrap-table

A Bootstrap table built with React.js
https://allenfang.github.io/react-bootstrap-table/
MIT License
2.24k stars 783 forks source link

dynamic options for selectFilter keeps changing to selected option. #2111

Open dashName opened 4 years ago

dashName commented 4 years ago

I am using remote select filter where i show the options dynamically and in onTableChange i call the API to update data.it works fine but the options keep changing to only selected one.

columns = [
{
            dataField: 'item',
            text: 'Format',
            filter: selectFilter({
                options: getOptions('flag'),
               // defaultValue:2
            })
}
]
const getOptions = (flag) => {
            const data =  this.state.tableData;
            const optionArray = [...new Set( _.map(data, format))];

            let options = {};
            for(var i = 0; i < optionArray.length; i++){
                options[optionArray[i]] = optionArray[i]
            }
            console.log(options);

            return options;
        };
onTableChange = (type, {page, sizePerPage, sortOrder: order, sortField: sort, filters}) => {
        let data = this.state.tableData;
        if (type === 'filter') {
                this.props.flag(filters.formatDesc.filterVal);
                this.props.getData();
        }
    };

let say initial value of options was {'A':'item-1','B':'item-2'}. when i select A the props updates and options changes to {'A':'item-1'} but expected should be {'A':'item-1','B':'item-2'} which was original.