搜索框的多个数据源

时间:2018-04-23 16:54:04

标签: google-app-maker

我整合了一个标题'包含搜索框到我的评论应用中的pagefragment。搜索框允许我在目录模型中搜索员工,但我也想在评论中搜索。

Review模型中的查询构建器就像这样

  FamilyName contains? :SearchText or
  GivenName contains? :SearchText or
  EmployeeEmail contains? :SearchText or
  CostCenter contains? :SearchText or
  Location contains? :SearchText  

当我在Review仪表板上时,我希望搜索框的数据源从目录模型切换到Review模型。因此,我创建了以下绑定:

(@currentPage == @pages.Dashboard) ? 
@datasources.Reviews.query.parameters.SearchText : 
@datasource.query.keywords

但是当我在预览中访问该页面时,控制台会返回一个无效的绑定'信息。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我不认为App Maker足够聪明,可以为输入窗口小部件消化这种类型的绑定。我建议您遵循Training Hub模板中使用的模式:

  1. 为标题页片段设置一些任意数据源
  2. 将搜索框绑定到@datasource.query.parameters.SearchText
  3. 在您需要的每个页面上覆盖页面片段的数据源 override datasource
  4. 您的特定用例需要更多花哨的腿部动作。因为对于实际搜索,您需要查询中的不同内容,您需要

    1. 将您的Directory数据源切换为query script模式
    2. 介绍SearchText查询参数
    3. 将此查询脚本添加到数据源
    4. query.keywords = query.parameters.SearchText;
      
      return query.run();
      

      通过这样的调整,所有数据源都将显示相同的接口,并且可能有不同的实现。