mirror of
https://gitee.com/dapppp/ruoyi-plus-vben5.git
synced 2026-03-14 06:00:52 +08:00
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
This commit is contained in:
@@ -92,7 +92,8 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
|
||||
return;
|
||||
}
|
||||
useTimeoutFn(() => {
|
||||
if (!chartInstance) {
|
||||
if (!chartInstance || chartInstance?.getDom() !== el) {
|
||||
chartInstance?.dispose();
|
||||
const instance = initCharts();
|
||||
if (!instance) return;
|
||||
}
|
||||
@@ -104,6 +105,36 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
|
||||
});
|
||||
};
|
||||
|
||||
const updateDate = (
|
||||
option: EChartsOption,
|
||||
notMerge = false, // false = 合并(保留动画),true = 完全替换
|
||||
lazyUpdate = false, // true 时不立即重绘,适合短时间内多次调用
|
||||
): Promise<echarts.ECharts | null> => {
|
||||
return new Promise((resolve) => {
|
||||
nextTick(() => {
|
||||
if (!chartInstance) {
|
||||
// 还没初始化 → 当作首次渲染
|
||||
renderEcharts(option).then(resolve);
|
||||
return;
|
||||
}
|
||||
|
||||
// 合并你原有的全局配置(比如 backgroundColor)
|
||||
const finalOption = {
|
||||
...option,
|
||||
...getOptions.value,
|
||||
};
|
||||
|
||||
chartInstance.setOption(finalOption, {
|
||||
notMerge,
|
||||
lazyUpdate,
|
||||
// silent: true, // 如果追求极致性能可开启(关闭所有事件)
|
||||
});
|
||||
|
||||
resolve(chartInstance);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
function resize(withAnimation = true) {
|
||||
const el = getChartEl();
|
||||
if (isElHidden(el)) {
|
||||
@@ -141,6 +172,7 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
|
||||
return {
|
||||
renderEcharts,
|
||||
resize,
|
||||
updateDate,
|
||||
getChartInstance: () => chartInstance,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -320,6 +320,7 @@ async function init() {
|
||||
'[Vben Vxe Table]: The formConfig in the grid is not supported, please use the `formOptions` props',
|
||||
);
|
||||
}
|
||||
// @ts-ignore
|
||||
props.api?.setState?.({ gridOptions: defaultGridOptions });
|
||||
// form 由 vben-form 代替,所以需要保证query相关事件可以拿到参数
|
||||
extendProxyOptions(props.api, defaultGridOptions, () =>
|
||||
|
||||
Reference in New Issue
Block a user