diff --git a/src/core/echarts.ts b/src/core/echarts.ts index f9da887f05..f2ba620956 100644 --- a/src/core/echarts.ts +++ b/src/core/echarts.ts @@ -1160,13 +1160,25 @@ class ECharts extends Eventful { return; } - const optionChanged = ecModel.resetOption('media'); + let needPrepare = ecModel.resetOption('media'); - const silent = opts && opts.silent; + let silent = opts && opts.silent; + + // There is some real cases that: + // chart.setOption(option, { lazyUpdate: true }); + // chart.resize(); + if (this[OPTION_UPDATED_KEY]) { + if (silent == null) { + silent = (this[OPTION_UPDATED_KEY] as any).silent; + } + needPrepare = true; + this[OPTION_UPDATED_KEY] = false; + } this[IN_MAIN_PROCESS_KEY] = true; - optionChanged && prepare(this); + needPrepare && prepare(this); + updateMethods.update.call(this, { type: 'resize', animation: zrUtil.extend({