数据交互

用于多个组件之间数据的交互

变量输出

大屏中部分组件会带有数据输出的功能,比如搜索框、下拉框等。 若组件带了数据输出的功能,我们就可以将输出的值绑定到全局变量。绑定到全局变量后其他组件才能使用这个变量

注意:要使输出生效必须要把“启用”勾上

下面我们添加一个搜索框组件,然后将输出的值绑定到全局变量a

变量输入

当组件的输出值绑定到全局变量后,我们就可以在另一个组件的数据源配置中使用这个变量

静态数据源中使用全局变量

静态数据源中使用全局变量要把变量名要写在双大括号内

下面我们添加一个“大标题”组件,并将数据源中的value值设置为{{a}}

注意:数据源编辑完要点提交才能生效

接下来点击预览 (编辑状态无法在搜索框中输入值) ,b并在搜索框中输入值并点击搜索按钮,大标题组件也会跟着变

SQL数据源中使用全局变量

SQL数据源支持动态SQL,语法和MyBatis相同,不需要<select>标签。

#{}${}的区别

  • #{}在查询时,由一个“?”来标识,并被传递到一个新的预处理语句中,如: SELECT * FROM PERSON WHERE ID = #{id}

这样做更安全,更迅速,通常也是首选做法

  • ${}中的值会直接替换字符串,有时你就是想直接在 SQL 语句中直接插入一个不转义的字符串。 比如 ORDER BY 子句,这时候你可以: ORDER BY ${columnName}

下面我们将刚刚添加的大标题组件的数据源设置为SQL select #{a} 可以发现效果和之前的静态数据相同

这里只是一个演示的例子,所以直接将变量放到select语句中,实际场景通常是放到where语句中或order by语句中

API数据源中使用全局变量

API数据源可以在“请求头”和“请求参数”中使用变量,用法和静态数据相同

应用数据中使用全局变量

应用数据源可以在筛选条件中使用变量,用法也和静态数据类似。