我使用Angular Slickgrid来显示数据并过滤数据,因为我注意到列过滤器没有过滤带有特殊字符的记录,如"<","="
当前行为:
列过滤器不过滤带有"<"、"="等特殊字符的记录。
(演示不过滤记录)
预期行为:
Column filter需要过滤包含("<","=")等特殊字符的记录。
软件版本
Angular: 13.3.9angular - slikgrid: 4.3.1TypeScript: 4.6.4这是经过设计的,它们是Angular-Slickgrid Filters中的保留字符,当作为前1-2个字符输入时,它们被解释并从正则表达式转换为过滤器操作符。即使您使用复合过滤器,它们仍然会被解释为操作符,并且永远不会成为搜索本身的一部分(除了作为操作符之外)。作为前1-2个字符时被解释的字符是:<
,>
,=
,*
(endsWith),并且还要注意,*
符号也将被解释为最后一个字符(startsWith)。
我可能会在将来添加一个选项来禁用这个解释(也许在复合过滤器上),但在这一点上,它总是打开的,永远不会成为搜索本身的一部分(除非它在搜索的中间,当它超过2个字符,基本上如果你搜索= =
,那么它可能会工作)
编辑在此PR中添加了一个新选项autoParseInputFilterOperator
,以支持禁用解析的方法。这个新标志现在可以从Angular-Slickgrid v5.3.0和Slickgrid-Universal v2.3.0开始使用