为什么当图表类型更改时,在 vue(spa) 中无法正确呈现 apexchart?

如何解决为什么当图表类型更改时,在 vue(spa) 中无法正确呈现 apexchart?

我有一个带有 3 种图形的 v-tab 项栏,所有图形都必须显示来自单个变量的数据。从 v-select 中选择一个选项时正在更新变量。 它第一次正确呈现,但是在更改选项后,所有数据在除 xaxis 类别之外的所有图表中都正确呈现。 xaxis 值不会出现在刻度上。但在工具提示视图中可见。 在调整窗口大小时,数据再次出现,无法在更改时强制渲染图表。 需要一些帮助。

    <v-tabs
                      center-active
                      v-model="ctab"
                      color="#a24187"
                      slider-color="#a24187"
                    >
                      <v-tab >
                        <v-icon color="#2E93fA">mdi-poll</v-icon> Bar</v-tab
                      >
                      <v-tab >
                        <v-icon color="#2E93fA">mdi-chart-timeline-variant</v-icon>Line
                      </v-tab>
                      <v-tab >
                        <v-icon color="#2E93fA">mdi-scatter-plot</v-icon> Scatter</v-tab
                      >
                    </v-tabs>
                    <v-tabs-items v-model="ctab" class="px-2">
                      <v-tab-item>

                        <apexchart
                          ref="chart"
                          width="700"
                          height="260"
                          type="bar"
                          :options="chartoptions"
                          :series="sr"
                        ></apexchart>
                      </v-tab-item>

                      <v-tab-item>
                        <apexchart
                          ref="chart"
                          width="700"
                          height="260"
                          type="line"
                          :options="chartoptions"
                          :series="sr"
                        ></apexchart>
                      </v-tab-item>

                      <v-tab-item>
                        <apexchart
                          ref="chart"
                          width="700"
                          height="260"
                          type="scatter"
                          :options="chartoptions"
                          :series="sr"
                        ></apexchart>
                      </v-tab-item>
                    </v-tabs-items>

正在使用的变量和属性

 sr: [
      {
        name: "",data: [],},],chartoptions: {
      chart: {
        id: "UNChart",xaxis: {
        categories: [],axisBorder: {
          show: true,color: "#a24187",height: 1,width: "100%",offsetX: 0,offsetY: 0,axisTicks: {
          show: true,borderType: "solid",height: 6,yaxis: {
        axisBorder: {
          show: true,width: 6,title: {
        text: undefined,align: "left",margin: 10,floating: false,style: {
          fontSize: "14px",fontWeight: "bold",fontFamily: undefined,color: "#263238",

用于获取数据的方法

showchart() {
      this.tempData = [];
      this.tempCategory = [];
      this.sr[0].data = [];
      this.sr[0].name = "";
      this.chartoptions.xaxis.categories = [];
      for (let index = 0; index < this.newdata.length; index++) {
        if (this.criteria === this.newdata[index].specific_title) {
          this.tempData.push(this.newdata[index].current_value);
          this.tempCategory.push(this.newdata[index].specific_name);
        }
      }
      // ApexCharts.exec(
      //   "UNChart",//   "updateOptions",//   {
      //     xaxis: {
      //       categories: this.tempCategory,//     },//   },//   false,//   true
      // );

      // ApexCharts.exec(
      //   "UNChart",//   "updateSeries",//   [
      //     {
      //       data: this.tempData,//       name: this.criteria,//   ],//   true
      // );

      this.sr = [
        {
          name: this.criteria,data: this.tempData,];
      this.chartoptions = {
        ...this.chartoptions,...{
          xaxis: { categories: this.tempCategory },title: { text: this.filter.theme.name },};

      // this.$refs.chart.updateOptions({ xaxis: { categories: this.tempCategory } });
    },

1

FIRST VIEW

2

OPTION SELECTED FIRST TIME

3

cORRECTLY WORKING DUE TO FIRST SELECTION

4

cHANGING OPTION

5

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?