本文档介绍数据过滤器的详细使用方法,包括新建过滤器、添加过滤器、排序过滤器以及新建代码片段等。

说明 以下操作均在大屏编辑页面完成。

新建过滤器

您可以通过以下两种方法新建过滤器:

  • 通过项目过滤器新建。
    1. 在大屏编辑器工具栏处,单击项目过滤器图标。进入项目过滤器
    2. 项目过滤器面板中,单击新建
    3. 在过滤器配置区域,输入过滤器的名称和自定义的过滤代码,单击保存方法一新建过滤器步骤
      创建成功的过滤器会排列显示在项目过滤器列表中。
      注意 通过项目过滤器创建的过滤器,可以被当前大屏中的任意组件调用,调用方式请参见使用方法。被调用后会显示组件和过滤器的依赖关系。
  • 通过组件的数据配置新建。
    1. 在当前大屏中随机添加一个组件,单击右侧配置面板中的数据图标。
    2. 数据配置面板中,勾选数据过滤器,单击添加过滤器添加数据过滤器入口
    3. 设置数据源页面中,单击过滤器右侧的+新增一个过滤器
    4. 数据过滤器配置面板中,输入过滤器名称和自定义的过滤代码,单击保存

      创建成功的过滤器会排列显示在数据过滤器列表中,并显示过滤器和组件之间的依赖关系。

      通过在组件内部数据配置时,新建的过滤器同样会排列显示在项目过滤器列表中,并且在列表中可以看到过滤器和组件之间的依赖关系。过滤器显示被组件调用

重命名过滤器

鼠标移动到过滤器列表中的某个过滤器上,单击重命名图标,输入过滤器名称即可。重命名过滤器

删除过滤器

警告 删除过滤器操作可能会导致相关组件不可用,请确认后操作。
鼠标移动到过滤器列表中的某个过滤器上,单击删除图标即可。删除过滤器

添加过滤器

  1. 在组件的数据配置面板中,勾选数据过滤器
  2. 单击添加过滤器添加数据过滤器入口
  3. 设置数据源页面中,单击添加过滤器下拉框,选择一个已有的过滤器。

排序过滤器

在组件中添加了多个过滤器后,可以通过拖动过滤器进行排序。

组件数据内添加了多个过滤器后,数据过滤的顺序是从上往下,依次经过排序好的过滤器。第一个过滤器的输入是数据源直接请求得到的结果;第二个过滤器的输入等于第一个过滤器过滤后的输出数据,依次类推传递数据。

注意
  • 当组件中添加了多个过滤器时,如果中间有过滤器返回值为空,那么该过滤器会被忽略,但过滤不会终止,且系统会在多个过滤器配置页面中进行提示。
  • 当组件中添加了多个过滤器时,如果某个过滤器执行报错,那么过滤会终止,并采用上一次执行正确的结果。

过滤器调试

  1. 设置数据源页面中,单击数据过滤器下方的开启过滤器调试
  2. 编辑过滤代码,完成后单击测试
    测试通过后,会显示数据过滤结果。如下图所示,左侧弹窗的上下两部分,分别展示了数据经过过滤器之前和之后的返回结果。测试数据结果
    注意 过滤器调试功能可确保过滤代码的正确性,但不适用于数据量过大的情况。

数据源/过滤器报错

  • 数据源报错:在组件数据面板添加完数据过滤器后,如果将当前数据源切换成其他类型的数据源,会在数据面板展示上面两个错误,提示用户数据源配置有问题。数据源异常
    注意 当数据源异常的时候,即使是有返回的数据内容,添加在数据面板的过滤器也不会执行,会置灰显示。因为数据流从一开始就错了,再通过过滤器处理就没有意义了。
  • 过滤器报错:在过滤器对数据执行过滤过程中,如果代码执行出错会在界面两个地方有报错提示。
    图 1. 报错一
    过滤器执行报错1
    图 2. 报错二
    过滤器执行报错2

管理过滤器面板

在大屏左侧的项目过滤器面板中,您可以管理大屏内所有组件的过滤器,并且查看过滤器和组件之间的依赖关系。面板中的过滤器都可以被大屏内任意组件添加使用。管理过滤器面板
警告 在过滤器面板中修改某个过滤器的内容时,会影响到所有依赖这个过滤器的组件,请谨慎操作。

创建并导入代码片段

您可以通过创建/导入代码片段功能,在多个屏幕之间复用过滤器,具体创建操作方法如下。

  1. 鼠标移动到过滤器列表中的某个过滤器上,单击创建代码片段图标。创建代码片段入口
  2. 创建代码片段弹出框中,查看并修改名称Code,单击确定创建代码片段
  3. 代码片段保存成功后,可进入我的数据页面,单击代码片段管理,查看并管理代码片段。代码片段管理页面
    说明 您也可以在代码片段管理页面,单击列表上方的新建,创建一个全新的代码片段并保存到下方列表中提供给组件使用。

    代码片段创建成功后,可继续执行以下步骤,将代码片段导入到组件中,进行应用。

  4. 在过滤器代码编辑框内单击鼠标右键,选择导入弹框内已有的某个代码片段,完成代码片段的导入。右键导入代码片段
    说明 导入代码片段功能可以实现多个大屏之间过滤器代码的共享与复用。