【问题标题】:ng-grid search filter with cellTemplate带有 cellTemplate 的 ng-grid 搜索过滤器
【发布时间】:2014-11-25 01:02:11
【问题描述】:

我在引用 cellTemplate 的列上使用 ng-grid 搜索过滤器时遇到问题。

我的数据对象有多个字段。其中一个字段是一个数组,我使用 cellTemplate 创建一个带有 ng-repeat 的 div 来显示这些值并根据该数组中的值应用某个 css 类。

这是演示我的问题的 plunkler:plnkr.co/edit/jMvafIjqCsU0cnW6Ecvy?p=preview。

我的问题是当我使用 cellTemplate 网格属性时,过滤器无法正常工作。要模拟这种情况,您可以尝试通过 person2@gmail.com 搜索您会注意到问题。在这个 plunker 中,我使用 cellTemplate 将“@gmail.com”连接到人员的电子邮件,因此如果您输入 person2,则会应用过滤器,但在输入 @ 之后,您会看到该过滤器不起作用。

有人可以帮助我吗?谢谢!

【问题讨论】:

    标签: angularjs filtering ng-grid celltemplate


    【解决方案1】:

    ng-grid 不会搜索呈现的 cellTemplate 输出,而是搜索基础数据。

    因此,最好的方法是将数据转换为可搜索的值。

      angular.forEach($scope.myData, function(value) {
        value.email+='@gmail.com';
      });
    

    找一个Plunker here

    【讨论】:

    • 如果我想应用 css 样式?例如,如果电子邮件是@gmail,则输出将为绿色,否则输出将为红色?这是我真正的问题,当我应该使用 cellTemplate 来操作输出时,因为我既不能从我的控制器应用样式,也不能在单元格上显示一组值。
    • 如何检测电子邮件是@gmail 还是其他任何地方?在您的 plunker 示例中没有找到任何主机信息,只是名称。请在 plunker 中完成 myData,我将向您展示如何编写您的 cellTemplate。
    • 你是对的。我编辑了你的 plunker 以显示我的问题,我想尝试做。拜托,看看 plunker。
    • 你好,你还在我身边吗?查看更新的 plunker:plnkr.co/edit/ARlDisOS0EVHXKjQPast?p=preview
    • 哦,github.io又上线了!看看这里(非常骇人听闻的)plunker。在搜索框中输入 200 或 100 等值。同样,这是将您的 json 转换为可搜索值,即列的数据字段。 celltemplate 决定在实际测量数据上使用哪个类。不是很时尚,但是,嘿,它的工作原理! plnkr.co/edit/Iuw025179PRBzottQzet?p=preview
    猜你喜欢
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 2017-01-15
    • 1970-01-01
    相关资源
    最近更新 更多