uni-echarts
Version:
🪀 适用于uni-app的Apache ECharts组件(仅支持Vue 3)
25 lines (19 loc) • 705 B
JavaScript
import { computed, inject, provide, toValue } from "vue";
import { defaultTo } from "../utils/helpers";
export const UPDATE_OPTIONS_KEY = Symbol("UniEcharts.updateOptions");
export function provideEchartsUpdateOptions(value) {
provide(UPDATE_OPTIONS_KEY, value);
}
export function useEchartsUpdateOptions(value) {
const injectUpdateOptions = inject(UPDATE_OPTIONS_KEY, null);
const unwrapInjectUpdateOptions = computed(() => {
return toValue(injectUpdateOptions);
});
const innerUpdateOptions = computed(() => {
return defaultTo(toValue(value), unwrapInjectUpdateOptions.value, {});
});
return {
injectUpdateOptions: unwrapInjectUpdateOptions,
innerUpdateOptions
};
}