简介 #
懒加载数据集(Lazy Load Dataset)是一种按需触发查询的数据集。与普通数据集在页面加载时自动查询不同,懒加载数据集需要由前端代码主动调用 ds_refresh() 触发,适合数据下载、多级钻取、用户交互后才加载的场景。
应用场景 #
- 类似于前后端开发, 后端会提供一些接口给前端, 但前端不一定需要在一打开页面就进行查询接口, 而是当有需要时再查询,
- 比如数据下载, 只有当用户有下载需求时再刷新数据
- 再比如有些与后台的数据联动, 我们只需要第一次加载时只显示第一层级, 点击时再加载其它层级
开启数据集懒加载 #
- 在仪表盘"新增"–>“懒加载数据集”
- 当打开仪表盘时, 此数据集不会被加载
应用 #
刷新数据 #
- 你可以随时手动触发数据集的刷新, 比如懒加载的数据集序号为0,
- 你可在需要触发刷新的JS代码段调用ds_refresh(0),
- 即可刷新0号数据集并执行0号数据集图形中的JS代码
使用数据 #
默认使用 #
当没有修改过懒加载数据集的图形时,默认的全局变量为"data序号", 例如懒加载数据集序号为0, 你可在模板的script中使用data0来获取数据集刷新后的数据
数据处理 #
在有些场景, 可以在懒加载的图形中自定义处理逻辑, 比如我们需要把数据转化成vue常用的格式, 然后给vue的变量赋值:
let dataset = __dataset__;
dataset = ds_createMap_all(dataset);
vapp.ds1 = dataset; //赋值给vue
当有编辑过图形后,你不再可以用"data序号"来使用数据
参数传递 #
在有一些场景,需要在前端获取参数, 之后触发数据查询, 比如筛选项. 你可以使用ds_setParam(‘参数名’, 参数值)设定参数, 比如刷新1号数据集
ds_setParam('city', '顺德');
ds_setParam('province', '广东');
ds_refresh(1);
典型使用场景示例 #
场景1:下载按钮触发数据刷新 #
// 静态组件中的下载按钮
dom__name__.innerHTML = '<button id="btn_download">下载数据</button>';
$('#btn_download').click(function() {
ds_setParam('city', '广州'); // 传递筛选参数
ds_refresh(3); // 触发3号懒加载数据集
});
场景2:多级钻取(点击图形后加载下一级) #
myChart__name__.on('click', function(params) {
ds_setParam('province', params.name); // 传入点击的省份
ds_refresh(2); // 刷新2号数据集(市级数据)
$('#container_2').css('display', 'block');
});