perf: 优化无数据源数据展示

This commit is contained in:
奔跑的面条 2022-09-07 11:46:14 +08:00
parent 530bb98782
commit 88764d77a8
3 changed files with 15 additions and 13 deletions

View File

@ -4,7 +4,6 @@ import { Decorates03Config } from './index'
import cloneDeep from 'lodash/cloneDeep'
export const option = {
dataset: '装饰-03',
textColor: '#fff',
textSize: 24,
colors: ['#1dc1f5', '#1dc1f5'],

View File

@ -164,21 +164,23 @@ const dimensionsAndSourceHandle = () => {
watch(
() => targetData.value?.option?.dataset,
(
newData: {
newData?: {
source: any
dimensions: any
} | null
) => {
if (newData && isObject(newData)) {
// Echarts
if (newData && targetData?.value?.chartConfig?.chartFrame === ChartFrameEnum.ECHARTS) {
// DataSet
source.value = newData
if (isCharts.value) {
dimensions.value = newData.dimensions
dimensionsAndSource.value = dimensionsAndSourceHandle()
}
} else {
} else if (newData !== undefined && newData !== null) {
dimensionsAndSource.value = null
source.value = newData
} else {
source.value = '此组件无数据源'
}
},
{

View File

@ -1,16 +1,11 @@
<template>
<div class="go-chart-configurations-data" v-if="targetData">
<setting-item-box name="请求方式" :alone="true">
<n-select
v-model:value="targetData.request.requestDataType"
:options="selectOptions"
/>
<n-select v-model:value="targetData.request.requestDataType" :disabled="isNotData" :options="selectOptions" />
</setting-item-box>
<!-- 静态 -->
<chart-data-static
v-if="targetData.request.requestDataType === RequestDataTypeEnum.STATIC"
></chart-data-static>
<chart-data-static v-if="targetData.request.requestDataType === RequestDataTypeEnum.STATIC"></chart-data-static>
<!-- 动态 -->
<chart-data-ajax v-else></chart-data-ajax>
@ -18,6 +13,7 @@
</template>
<script setup lang="ts">
import { computed } from 'vue'
import { SettingItemBox } from '@/components/Pages/ChartItemSetting'
import { useTargetData } from '../hooks/useTargetData.hook'
import { ChartDataStatic } from './components/ChartDataStatic/index'
@ -38,4 +34,9 @@ const selectOptions: SelectCreateDataType[] = [
value: RequestDataTypeEnum.AJAX
}
]
</script>
//
const isNotData = computed(() => {
return typeof targetData.value?.option?.dataset === 'undefined'
})
</script>