开关
开关是高级交互组件的 一种,可以用来仿照物理开关,让用户打开或关闭某个项目,并通过交互配置,定义开关打开或关闭状态下需要显示或隐藏的内容。本文介绍开关各配置项的含义
配置
基础属性:包含组件的基础属性。
参数 | 说明 |
---|---|
图表宽度 | 组件的宽度 |
图表高度 | 组件的高度 |
横坐标 | 组件的横坐标,单位为px。横坐标为组件左上角距离页面左边界的像素距离 |
纵坐标 | 组件的纵坐标,单位为px。横坐标为组件左上角距离页面上边界的像素距离 |
旋转角度 | 以组件的中心为中心点,进行旋转,单位为度(°) |
透明度 | 取值范围为0~1。为0时,图表隐藏;为1时,图表全部显示。默认为1 |
全局样式
- 默认选中状态:打开开关,开关默认显示为选中状态;关闭开关,开关默认显示为关闭状态。
背景样式
- 边框样式
参数 | 说明 |
---|---|
边框宽度 | 边框的宽度。 |
边框颜色 | 边框的颜色。 |
边框圆角 | 边框的圆角,取值范围为0~360。数值为0的时候边框为方形,数值为360时边框为圆形。 |
线条类型 | 边框的线条类型。包括实线、虚线、点线、双实线、雕刻效果、浮雕效果、陷入效果和突出效果。 |
- 背景颜色
参数 | 说明 |
---|---|
打开颜色 | 开关打开时的背景颜色。 |
关闭颜色 | 开关关闭时的背景颜色。 |
按钮样式
- 边框样式
参数 | 说明 |
---|---|
边框宽度 | 开关按钮边框的宽度。 |
边框颜色 | 开关按钮边框的颜色。 |
边框圆角 | 开关按钮边框的圆角,取值范围为0~360。数值为0的时候按钮边框为方形,数值为360时按钮边框为圆形。 |
线条类型 | 开关按钮边框的线条类型。包括实线、虚线、点线、双实线、雕刻效果、浮雕效果、陷入效果和突出效果 |
- 背景颜色:开关按钮的背景颜色。
数据
上图中的示例数据如下。
[
{
"onValue": 1,
"offValue": 0,
"state": 0
}
]
表 1. 字段说明
字段 | 说明 |
---|---|
onvalue | 打开开关抛出数据值,默认数值为1。 |
offvalue | 关闭开关抛出数据值,默认数值为0。 |
state | 开关的打开或关闭状态,只支持0或1,0表示关闭状态,1表示打开状态。 |
表 2. 配置项说明
交互
选中当状态变化时右侧的启用,开启组件交互功能。开关组件拥有交互配置,但不能自定义其他回调变量,只可打开或关闭开关,触发数据请求,抛出一个回调值,然后在其他组件中配置使用。 默认抛出数据面板中配置的value值,打开开关时会抛出onvalue值,关闭开关时会抛出offvalue值,具体配置请参见回调ID实现图表联动功能。
蓝图编辑器交互配置
- 事件
事件 | 说明 |
---|---|
当数据接口请求完成时 | 数据接口请求返回并经过过滤器处理后抛出的事件,同时抛出处理后的JSON格式的数据。具体数据请参见上文的数据系列。 |
当状态变化时 | 当状态发生变化时抛出的事件,同时抛出该状态 下对应的数据项。 |
- 动作
动作 | 说明 |
---|---|
请求数据接口 | 重新请求服务端数据,上游数据处理节点或图层节点抛出的数据将作为参数。例如开关配置了API数据源为[http://api.test](http://api.test) ,传到请求开关接口动作的数据为{ id: '1'} ,则最终请求接口为[http://api.test?id=1](http://api.test?id=1) 。 |
导入数据接口 | 按组件绘制格式处理数据后,导入组件,重新绘制。不需要重新请求服务端数据。具体数据请参见上文的数据系列。 |
获取当前开关状态 | 获取当前的开或关的状态。 |
设置当前开关状态 | 设置当前的开或关的状态。 |
清空组件到默认值 | 表示还原到默认值。 |
更新组件配置 | 动态更新组件的样式配置。需要先在组件的配置面板中,单击复制配置到剪贴板,获取组件配置数据。再根据需要在蓝图编辑器配置页面的数据处理节点中更改对应样式的字段值。 |
显示 | 显示组件,不需要参数。 |
隐藏 | 隐藏组件,不需要参数。 |
切换显隐状态 | 切换组件显示或者隐藏。 |
移动 | 将组件移动到指定位置。{// 移动方式。绝对定位:to,相对定位:by。默认值:to。"positionType": "to",// 指定位置。x坐标,y坐标。"attr": {"x": 0,"y": 0},// 动画方式。"animation": {"enable": false,// 动画延时。"animationDuration": 1000,// 动画曲线。可选值为:linear|easeInOutQuad|easeInOutExpo。"animationEasing": "linear"}} |