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

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

新建过滤器

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

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

重命名/删除过滤器

  • 重命名过滤器:鼠标移动到过滤器列表中的某个过滤器上,单击重命名图标,输入过滤器名称即可。重命名过滤器
  • 删除过滤器
    注意 删除过滤器操作可能会导致相关组件不可用,请确认后操作。
    鼠标移动到过滤器列表中的某个过滤器上,单击删除图标即可。删除过滤器

添加过滤器

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

排序过滤器

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

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

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

过滤器调试

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

数据源/过滤器报错

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

管理过滤器面板

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

创建/导入代码片段

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

  • 创建代码片段
    1. 鼠标移动到过滤器列表中的某个过滤器上,单击创建代码片段图标。创建代码片段入口
    2. 创建代码片段弹出框中,查看并修改名称Code,单击确定创建代码片段
    3. 代码片段保存成功后,可在DataV控制台的我的数据 > 代码片段管理中查看并管理。代码片段管理页面
      说明 您也可以在代码片段管理页面,单击列表上方的新建,创建一个全新的代码片段并保存到下方列表中提供给组件使用。
  • 导入代码片段
    在过滤器代码编辑框内单击鼠标右键,选择导入弹框内已有的某个代码片段,完成代码片段的导入。右键导入代码片段
    说明 导入代码片段功能可以实现多个大屏之间的过滤器代码共享与复用。