DataV實戰#2-無互動事件元件資料來源查詢時間變數傳遞技巧

ahlfors發表於2018-10-08

對於類似翻牌器這樣的帶互動事件元件資料來源查詢時間變數傳遞,可以通過時間軸配置互動事件進行傳遞配置。但對於類似儀表盤、水點陣圖、輪播餅圖這樣的無互動事件元件,該配置方式無法傳入時間變數。
查詢DataV官方文件無果,請教DataV專家@子墨, 找到了一個解決方式,記錄如下,以供需要的同學參考。

該方案的使用數字翻牌器元件作為傳遞時間變數。

配置數字翻牌器

第一步,配置數字翻牌器,新增過濾器,如下是一個過濾器demo,你也可以按自己的需求自己定義變數。

const time = Math.floor(Date.now() / 1000);
const begin = time - (time - 1518364800) % 86400;

Object.values(data).forEach((obj) => {
  obj.from_1 = time - 60 * 60;
  obj.from_2 = time - 60 * 60 * 2;
  obj.from_24 = time - 24 * 60 * 60;
  obj.to_now = time;
  obj.from_48 = time - 48 * 60 * 60;
  obj.start = begin;
  obj.yesterday_start = begin - 24 * 60 * 60;
  obj.from_0 = new Date(new Date().setHours(0, 0, 0, 0)) / 1000;
  obj.from_2_01 = obj.from_2 * 1000;
  obj.to_now_01 = obj.to_now * 1000


});

return data;

Screen Shot 2018-09-12 at 10.23.23 AM.png

配置數字翻牌器的互動事件

第二步,配置數字翻牌器的互動事件,如上案例,要使用to_now變數,做下繫結,繫結到的變數可以自己定義:
Screen Shot 2018-09-12 at 10.24.52 AM.png

注意配置後將生效勾選框勾選上。

配置無互動事件元件資料來源查詢

第三步,配置無互動事件元件資料來源查詢,比如儀表盤元件,查詢配置中把變數引入:
11_33_08__09_12_2018.jpg

注意的是,使用時間變數在元件資料來源查詢除錯時會提示錯誤。因為這個時間變數需要在釋出或者預覽時傳遞生效。所以當除錯時,需要使用靜態時間,除錯完畢預覽時,改成時間變數即可。

最後再次感謝DataV專家@子墨的耐心指導。


相關文章