View 2.0 支持用户自定义过滤器,用户可以自行写入javascript
代码,借助过滤器实现数据结构转换、筛选和一些简单的计算。
当前暂不支持es6及更高版本的ECMAScript语法
当出现以下情况,您可能需要使用数据过滤器:
数据源的值与组件中格式不相同;
一个组件需要同时使用多个数据源;
点击数据过滤器,勾选复选框,启用数据过滤器功能。在代码编辑区填写您的代码。过滤器在使用之前会先进行代码安全监测,无法通过安全监测的过滤器将不能使用。
View 2.0 包含两种类型的过滤器:
私有过滤器
:每个组件各自拥有一个不影响其他组件的过滤器,且这个过滤器只能这个组件自己使用。
全局过滤器
:可以设计一些每个组件都可选择是否使用的过滤器。这些过滤器一旦被修改,将影响到所有使用到它的组件。
每个 View 2.0 过滤器都是一个javascript
函数,我们预先定义了这个过滤器函数的两个参数data
和rootData
:
data
:当前组件选中的数据源数据
rootData
:包含所有数据源数据的根对象
rootData
是 View 2.0
的数据源列表,它是一个以 数据源Id
-数据值列表
为键值对 的对象,包含了该项目中所有的
数据源,其中`、
1、
staticDemo是
数据源 Id`,紧随其后的是该数据源的当前数据。
{
"": [
{
"update_at": "2019-02-28 14:10:47",
"id": "line2",
"create_time": "2017-12-08 15:08:40",
"current_value": 65,
"at": "2019-02-28 14:10:47",
"value": 65
}
],
"1": [
{
"create_time": "2017-11-22 14:21:15",
"id": "map"
}
],
"staticDemo": [
{
"x": "2010/01/01 00:00:00",
"y": 375,
"s": "1"
},
{
"x": "2010/01/01 00:00:00",
"y": 180,
"s": "2"
},
...
]
}
以这个 View 2.0数据源列表
为例。假设通过数据源选择下拉框选中的是`,则 参数
data` 的值是
[
{
update_at: '2019-02-28 14:10:47',
id: 'line2',
create_time: '2017-12-08 15:08:40',
current_value: 65,
at: '2019-02-28 14:10:47',
value: 65,
},
];