代码拉取完成,页面将自动刷新
<template>
<div>
<div class="chart" id="onsexchar">
<span>图表加载中...</span>
</div>
</div>
</template>
<script>
import { inject, onMounted, reactive, defineEmits } from "vue";
export default {
setup() {
let $echarts = inject("echarts");
// 引用后台数据
let $http = inject("axios");
// 创建数据
let data = reactive({});
let xdata = reactive([]);
let ydata = reactive([]);
// 处理数据
function setData() {
xdata = data.data.chartData.chartData.data.map(v => v.title);
ydata = data.data.chartData.chartData.data.map(v => v.num);
}
// 请求后台数据
async function getState() {
data = await $http({ url: "/one/data" });
}
onMounted(() => {
// 获取元素
let mychart = $echarts.init(document.getElementById("onsexchar"));
// 调用请求
getState().then(() => {
setData();
// 初始化
mychart.setOption({
title: {
subtext: "单位:百万",
subtextStyle: {
color: "#fff"
}
},
textStyle: {
color: "#fff",
fontSize: 20
},
grid: {
left: "1%",
right: "1%",
bottom: "1%",
containLabel: true
},
xAxis: {
type: "category",
data: [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月"
]
},
yAxis: {
type: "value"
},
series: [
{
data: [
150,
230,
224,
218,
135,
147,
260,
222,
233,
288,
143,
322
],
type: "line",
color: "yellow"
}
]
});
});
});
return {
// 返回数据
getState,
data,
xdata,
ydata,
setData
};
}
};
</script>
<style lang="scss" scoped>
.chart {
height: 210px;
}
</style>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。