diff --git a/core/core-frontend/src/views/chart/components/editor/editor-style/components/CustomColorStyleSelect.vue b/core/core-frontend/src/views/chart/components/editor/editor-style/components/CustomColorStyleSelect.vue index d805abca99..96aff50989 100644 --- a/core/core-frontend/src/views/chart/components/editor/editor-style/components/CustomColorStyleSelect.vue +++ b/core/core-frontend/src/views/chart/components/editor/editor-style/components/CustomColorStyleSelect.vue @@ -138,30 +138,23 @@ const setupSeriesColor = () => { } seriesColorState.curSeriesColor = seriesColorState.seriesColor[seriesColorState.curColorIndex] nextTick(() => { - const targetId = 'series-color-picker-' + seriesColorState.curColorIndex - const target = document.getElementById(targetId) - if (target) { - seriesColorState.seriesColorPickerId = `#${targetId}` - } else { - seriesColorPickerRef.value?.hide() - } + customColorPickerRef.value?.hide() + // 防止 teleport 失效还有选框飘到左上角 + seriesColorState.seriesColorPickerId = `#seriesr-picker-slot-${props.sub ? 1 : 0}` }) } } - -const flag = ref(1) - const switchSeriesColor = (seriesColor, index) => { seriesColorPickerRef.value?.hide() seriesColorState.curSeriesColor = cloneDeep(seriesColor) seriesColorState.curColorIndex = index - const id = '#series-color-picker-' + seriesColor.id + `-${flag.value}` - if (document.querySelectorAll(id).length > 1) { - flag.value = 2 - } - seriesColorState.seriesColorPickerId = '#series-color-picker-' + seriesColor.id + `-${flag.value}` + const id = `series-color-picker-${props.sub ? 1 : 0}-${index}` + seriesColorState.seriesColorPickerId = `#${id}` nextTick(() => { - seriesColorPickerRef.value?.show() + const dom = document.getElementById(id) + if (dom) { + seriesColorPickerRef.value?.show() + } }) } @@ -464,13 +457,16 @@ const colorItemBorderColor = (index, state) => { " class="series-color-setting colors" > +