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