Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度UI网格过滤器仅适用于单元格值的开头_Angularjs_Angular Ui Grid - Fatal编程技术网

Angularjs 角度UI网格过滤器仅适用于单元格值的开头

Angularjs 角度UI网格过滤器仅适用于单元格值的开头,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,我在我的应用程序中使用了一个有角度的UI网格。我在选项中将enablefilting设置为true,使一些筛选器框显示在我的列上方。这很好,但是过滤器不能完全按照预期工作 如果一个单元格包含文本“我喜欢比萨饼”并键入“我喜欢”,则该单元格的行将显示为匹配项。我还认为,如果我键入“pizza”,应该会显示“Ilike pizza”单元格/行,但事实并非如此 如何获取筛选器以允许搜索文本中的任意位置,而不仅仅是从开始搜索?您可以传递一个自定义筛选器对象,该对象采用条件属性,该属性可以是采用搜索项和单

我在我的应用程序中使用了一个有角度的UI网格。我在选项中将
enablefilting
设置为
true
,使一些筛选器框显示在我的列上方。这很好,但是过滤器不能完全按照预期工作

如果一个单元格包含文本“我喜欢比萨饼”并键入“我喜欢”,则该单元格的行将显示为匹配项。我还认为,如果我键入“pizza”,应该会显示“Ilike pizza”单元格/行,但事实并非如此


如何获取筛选器以允许搜索文本中的任意位置,而不仅仅是从开始搜索?

您可以传递一个自定义筛选器对象,该对象采用
条件
属性,该属性可以是采用
搜索项
单元格值
的函数。如果函数返回
true
,将显示。


您可以在列定义中使用
filter:{condition:uiGridConstants.filter.CONTAINS}
,以允许该列在文本中的任何位置进行搜索

下面是一个包含以下内容的示例列定义:

columnDefs: [
  // default
  { field: 'name',
    filter: {condition: uiGridConstants.filter.CONTAINS} },
  ...

默认设置为
开头,但您可以更改它:@BradBarber这看起来正是我想要的东西,尽管不清楚如何实际使用它。有什么想法吗?在您想使用它的columnDef中,您需要添加以下内容:
filter:{condition:uiGridConstants.filter.CONTAINS}
。谢谢如果你把它作为一个答案,我会接受的。顺便说一句,读者,别忘了在依赖项注入中包含
uiGridConstants
。这比编写函数有好处吗?@azium,我更喜欢使用框架提供的任何功能,如果它可用的话……它们通常比我实现得更好。在本例中,他们使用regex而不是indexOf实现了CONTAINS过滤器,我认为这要快一点()。顺便说一句,尽管我不认为这是实现我最初追求的目标的最佳方式,但这段代码在以后以不同的方式对我有所帮助,所以谢谢。
columnDefs: [
  // default
  { field: 'name',
    filter: {condition: uiGridConstants.filter.CONTAINS} },
  ...