echarts的半环形图数据都为0时不能显示半环形

前端新手的个人笔记————————————————————————————————

                  { value: this.personnelAttendance[2].value, name: '正常' },
                  { value: this.personnelAttendance[0].value, name: '迟到' },
                  { value: this.personnelAttendance[1].value, name: '早退' },
                  { value: this.personnelAttendance[3].value, name: '缺卡' },
                  {
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  },

当每项数据都为0,总和也是0时就不是半环形

解决:

有几项数据就复制几个总和和itemStyle

data: [
                  { value: this.personnelAttendance[2].value, name: '正常' },
                  { value: this.personnelAttendance[0].value, name: '迟到' },
                  { value: this.personnelAttendance[1].value, name: '早退' },
                  { value: this.personnelAttendance[3].value, name: '缺卡' },
                  {
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  },
                  {
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  },
                  {
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  },{
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  }
                ],

又有新问题----------------------------------------------------------------------------------------------------

切换到有数据的账号发现会变成这样

解决:在外边定义data,通过条件判断,如果数据之和为0就push四个,否则就push一个

let data = [
            { value: this.personnelAttendance[2].value, name: '正常' },
            { value: this.personnelAttendance[0].value, name: '迟到' },
            { value: this.personnelAttendance[1].value, name: '早退' },
            { value: this.personnelAttendance[3].value, name: '缺卡' },
          ];
          if (this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value == 0) {
            data.push(
              {
                value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                itemStyle: {
                  color: 'none',
                  decal: {
                    symbol: 'none'
                  }
                },
                label: {
                  show: false
                }
              },
              {
                value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                itemStyle: {
                  color: 'none',
                  decal: {
                    symbol: 'none'
                  }
                },
                label: {
                  show: false
                }
              },
              {
                value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                itemStyle: {
                  color: 'none',
                  decal: {
                    symbol: 'none'
                  }
                },
                label: {
                  show: false
                }
              }, {
              value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
              itemStyle: {
                color: 'none',
                decal: {
                  symbol: 'none'
                }
              },
              label: {
                show: false
              }
            }

            )

          } else {
            data.push(
              {
                value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                itemStyle: {
                  color: 'none',
                  decal: {
                    symbol: 'none'
                  }
                },
                label: {
                  show: false
                }
              },

            )
          }

最后在数据为0或不为0时都能正常显示半圆

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值