DataWind 在组件上提供了部分 API。使用 SDK 时,你可以调用 Web Component 上的组件 API 以实现部分业务功能。
调用方法的接口描述如下:
abstract class Component { abstract async invoke(functionName: string, data?: any): Promise<any> }
对应的方法名、参数和返回值如下:
Component | FunctionName | Data | ReturnType | Description |
---|---|---|---|---|
dashboard | createSnapshot | void | Promise | 获取当前仪表盘书签(快照)id,当 aeolus-dashboard 传入 snapshotId 时会还原 snapshotId 对应的仪表盘控件参数,如筛选值、动态字段值等 |
dashboard | refreshDashboard | void | Promise | 刷新仪表盘,v2.46生效 |
dashboard | showExportModal | void | Promise | 显示仪表盘导出弹窗,v2.46生效 |
一个获取仪表盘书签(快照)id的示例如下
import React from 'react' import ReactDOM from 'react-dom' class BIComponent extends React.Component { componentDidMount() { /** * Using `document.querySelector(YOUR_SELECTOR)` or `ref.current` to access the aeolus component dom element * @example ref.current.invoke(FUNC, DATA) */ document .querySelector('bi-dashboard') .invoke('createSnapshot') .then(({ snapshotId }) => { // do something with `snapshotId` }) } render() { return ( <bi-dashboard urlPrefix='https://console.volcengine.com/bi/datawind' dashboardId='******' appId='******' /> ) } } ReactDOM.render(<BIComponent />, document.querySelector('body'))