LayUI实现echarts图表渲染-layui-echarts-1

前言

最近在做质量分析平台的时候,需要用到echarts图表,那怎么样优雅的实现我们想要的效果呢?

1、思路

首先,我们使用LayUI的格栅布局,在一个container中起一个行,然后将其66平分,各自使用card填充。然后为这两个card定义id。最后我们在js中对card进行初始化和渲染。

2、代码

2.1、card布局

cardcode

如上,为两个card占据一行,各占一半。以下为效果图。

效果图

2.2、js代码

我们将写好的js代码导入到html文件中。

导入js

js代码内容,此处以bugLevel举例。

layui.use(['echarts'], function() {
    // 获取迭代数据
    var dd = localStorage.getItem('dd');
    uri = "http://x.x.x.x:8000/bug5?dd="+dd;
    // 获取缺陷数据
    axios({
    method:'get',
    url:uri
    })
    .then(function(response) {
    //debugger;
    let echarts = layui.echarts;

    var bug1 = echarts.init(document.getElementById('bug-level'));

    option = {
        title: {
          text: '缺陷等级分布',
          subtext: 'Data From Steam',
          left: 'center'
        },
        tooltip: {
          trigger: 'item'
        },
        legend: {
          orient: 'vertical',
          left: 'left'
        },
        series: [
          {
            name: 'Access From',
            type: 'pie',
            radius: '50%',
            data: response.data,
            emphasis: {
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
              }
            }
          }
        ]
      };
    bug1.setOption(option);
    window.onresize = function() {
        bug1.resize();
    }
    });
})
代码分析

以上代码,起初LayUI加载echarts模块,然后从localStorage获取迭代数据(这个数据是在首页选择迭代的时候同步更新到localStorage的),接着使用迭代数据拼接uri,axios从拼接好的uri获取对应的数据。在axios的成功回调中将bug-level初始化为echarts对象,然后在echarts的data处赋值从后台回去的数据,最后将echarts对象渲染即可。

3、附

这里补充下在首页的select中选择了迭代后将迭代数据存到localStorage的实现。

<ul class="layui-nav layui-layout-left">
                    <li class="collaspe layui-nav-item"><a href="#" class="layui-icon layui-icon-shrink-right"></a></li>
                    <li class="layui-nav-item">
                    <select id="dd" name="demo3" xm-selects="demo3" xm-select-skin="normal" onchange="localStorage.setItem('dd',document.getElementById('dd').value);">
                        <option value="2月迭代" class="layui-icon-refresh-1">2月迭代</option>
                        <option value="3月迭代" class="layui-icon-refresh-1">3月迭代</option>
                        <option value="4月迭代" class="layui-icon-refresh-1">4月迭代</option>
                        <option value="5月迭代" class="layui-icon-refresh-1">5月迭代</option>
                    </select>
                    </li>
                    <li class="refresh layui-nav-item"><a href="#" class="layui-icon layui-icon-refresh-1" loading = 600></a></li>
                </ul>

核心就是在select元素中的onchange事件,意为当选择发生变化的时候,就将id为dd的元素(即select本身)的value存到localStorage中,取名为dd,这样就可以使用js从localStorage中获取dd的值。

版权声明:除特殊说明,博客文章均为phyger原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。来自:https://u1s1.vip/archives/151
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇