【发布时间】:2018-09-19 17:58:19
【问题描述】:
我们有一个剑道反应网格,我们在每一列都有过滤器下拉菜单,用户可以通过它提供值并过滤掉网格。 这些过滤器工作正常,只有一个列过滤器 providersCount 损坏,列字段数据类型为 int。
我们在过滤时遇到以下错误:
TypeError: (a || "").indexOf 不是函数
网格代码如下:
<Grid
data={this.state.items}
sortable={{
allowUnsort: this.state.allowUnsort,
mode: this.state.multiple,
sortDir:this.state.sortDir
}}
sort={this.state.sort}
onSortChange={this.sortChange}
filterable={true}
filter={this.state.filter}
onFilterChange={this.filterChange}
onPageChange={this.pageChange}
total={this.state.total}
skip={this.state.skip}
pageSize={this.state.pageSize}
pageable={this.state.pageable}
scrollable={this.state.scrollable}
//style={{ height: '500px' }}
>
<Column field="networkName" sortable={{
allowUnsort: this.state.allowUnsort,
mode: this.state.multiple ? 'multiple' : 'single',
}}
onSortChange={this.sortChange} title="Network Name" width="400px" cell={NetworkNameCell} />
<Column field="networkGroups" title="Network Groups" width="250px" />
<Column field="networkType" title="Network Type" width="250px" />
<Column field="providersCount" title="Assigned Providers" />
<Column field="locationsCount" title="Assigned Locations" />
<Column cell={this.DeleteCommandCell} title="Action" sortable={false} filterable={false} />
<span class="k-icon my-refresh-icon-class"></span>
</Grid>
我们正在通过以下函数过滤掉记录:
filterNetworks = (filter) => {
debugger
const data = this.networks.slice();
return filterBy(data, filter);
}
知道我们在这里做错了什么。
【问题讨论】:
-
TypeError 发生在哪里?我在发布的代码中没有看到
indexOf。 -
它来自内部 kendo js 文件,这是引发错误的行:var operatorMap = { > 15 |包含: function (a, b) { return (a || "").indexOf(b) >= 0; },
标签: javascript reactjs react-native kendo-ui kendo-grid