Javascript 从网格中筛选记录时出错
我们有一个剑道反应网格,每个列上都有过滤器下拉列表,用户可以通过它提供值并过滤掉网格。 这些筛选器工作正常,只有一个列筛选器ProviderScont中断,列字段数据类型为int 我们在筛选时发现以下错误: TypeError:(a | |“”).indexOf不是函数 网格代码如下所示:Javascript 从网格中筛选记录时出错,javascript,reactjs,react-native,kendo-ui,kendo-grid,Javascript,Reactjs,React Native,Kendo Ui,Kendo Grid,我们有一个剑道反应网格,每个列上都有过滤器下拉列表,用户可以通过它提供值并过滤掉网格。 这些筛选器工作正常,只有一个列筛选器ProviderScont中断,列字段数据类型为int 我们在筛选时发现以下错误: TypeError:(a | |“”).indexOf不是函数 网格代码如下所示: <Grid data={this.state.items} sortable={{
<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>
你知道我们这里做错了什么吗。如果传递给filterBy函数的数据或筛选器不是预期格式,则可能发生此错误 为列设置
filter=“numeric”
,这样,过滤器组件将具有用于数字比较而不是字符串比较的运算符。默认情况下是文本。类型错误发生在哪里?我在发布的代码中没有看到indexOf
。它来自内部kendo js文件,这是引发错误的一行:var operatorsMap={>15 | contains:function(a,b){return(a | | |“”).indexOf(b)>=0,
filterNetworks = (filter) => {
debugger
const data = this.networks.slice();
return filterBy(data, filter);
}