123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- export class Echarts {
- eventMap = new Map()
- constructor(webview) {
- this.webview = webview
- this.options = null
- }
- setOption() {
- this.options = arguments
- this.webview.evalJs(`setOption(${JSON.stringify(arguments)})`);
- }
- getOption() {
- return this.options
- }
- showLoading() {
- this.webview.evalJs(`showLoading(${JSON.stringify(arguments)})`);
- }
- hideLoading() {
- this.webview.evalJs(`hideLoading()`);
- }
- clear() {
- this.webview.evalJs(`clear()`);
- }
- dispose() {
- this.webview.evalJs(`dispose()`);
- }
- resize(size) {
- if(size) {
- this.webview.evalJs(`resize(${JSON.stringify(size)})`);
- } else {
- this.webview.evalJs(`resize()`);
- }
- }
- on(type, ...args) {
- const query = args[0]
- const useQuery = query && typeof query != 'function'
- const param = useQuery ? [type, query] : [type]
- const key = `${type}${useQuery ? JSON.stringify(query): '' }`
- const callback = useQuery ? args[1]: args[0]
- if(typeof callback == 'function'){
- this.eventMap.set(key, callback)
- }
- this.webview.evalJs(`on(${JSON.stringify(param)})`);
- console.warn('nvue 暂不支持事件')
- }
- dispatchAction(type, options){
- const handler = this.eventMap.get(type)
- if(handler){
- handler(options)
- }
- }
- }
|