首页 > 解决方案 > 搜索时缺少文本字段值

问题描述

当我搜索与该特定字段匹配的关键字时,我的文本字段值会丢失。发布我使用的材料表库的完整代码。

<MaterialTable
    columns={[
        { title: 'Customer Name', field: 'custName', editable: 'never' },
        { title: 'Order Amount', field: 'orderAmount', render: rowData => 
            <TextField
                size="small"
                required
                onChange={e => {
                    this.props.getUpdatedOrderAmount(e.target.value, rowData)}
                }
                value={this.state.value}
            />
        }
    ]}
    data={data}
/>

标签: reactjsreact-reduxmaterial-uimaterial-table

解决方案


对于搜索使用单元格的属性 customFilterAndSearch,如:

{ title: 'Full name', searchable: true, 
  customFilterAndSearch: (filter: any, rowData: any, columnDef: any): boolean => {
    const s = (rowData.firstName + ' ' + rowData.lastName).toLocaleLowerCase();
    return s.indexOf(filter.toLocaleLowerCase()) >= 0;
  },
  render: rowData => rowData.firstName + ' ' + rowData.lastName
},

推荐阅读