前端 利用Vue实现数据可视化 - 戴向天

51 篇文章 0 订阅
6 篇文章 0 订阅

大家好!我叫戴向天

QQ群:602504799

如若有不理解的,可加QQ群进行咨询了解

先进行展示效果吧
在这里插入图片描述

<!--
  数据可视化
-->
<template>
  <div class>
    <div class="flex-wrap m-t-10 flex" v-for="(item,key) in this.getDataInfo" :key="key">
      <span class="flex-s-0 p-l-20 p-r-10 height-30 fs-16 fon-wb flex flex-y-center">
        {{item.key}}:
        {{item.type === 'json'?'{':item.type === 'array'?'[':''}}
        <span
          v-if="item.type === 'json' || item.type === 'array'"
          class="m-l-30 bg-edit color-f cursor-pointer fs-12 width-40 fon-w3 flex flex-center p-tb-5 border-r-5 op-3 hover-op-10"
        >{{item.type}}</span>
      </span>
      <div
        class="m-l-30 m-t-10 flex-g-1"
        :class="(item.type === 'json' || item.type === 'array')&&'width_100'"
        v-if="item.type === 'json' || item.type === 'array'"
      >
        <yc-data-view :data="item.value" />
      </div>
      <span v-else-if="item.type === 'string'" class="fs-16 fon-w4  flex flex-y-center">
        "{{item.value}}",
        <span
          class="m-l-30 bg-edit color-f cursor-pointer fs-12 width-40 fon-w3 flex flex-center p-tb-5 p-lr-10 border-r-5 op-3 hover-op-10"
        >{{item.type}}</span>
      </span>
      <span v-else-if="item.type === 'number'" class="fs-16 fon-w4 color-edit flex flex-y-center">
        {{item.value}},
        <span
          class="m-l-30 bg-edit color-f cursor-pointer fs-12 width-40 fon-w3 flex flex-center p-tb-5 p-lr-10 border-r-5 op-3 hover-op-10"
        >{{item.type}}</span>
      </span>
      <div class="fon-wb p-lr-20">{{item.type === 'json'?'}'+(getDataInfo.length- 1 > key?',':''):item.type === 'array'?']'+(getDataInfo.length- 1 > key?',':''):''}}</div>
    </div>
  </div>
</template>

<script>
export default {
  props: {
    data: ""
  },
  computed: {
    getDataInfo() {
      if (this.data) {
        return this.JSONToArray(this.data);
      } else {
        return [];
      }
    }
  }
};
</script>

getType 详细代码==> https://blog.csdn.net/weixin_41088946/article/details/91038867
JSONToArray文件

import JSPlugIn from './js-plugIn'

const JSONToArray = (json = {}) => {
  const arr = []

  for (let i in json) {
    const type = getType(json[i])
    arr.push({
      key: i,
      type,
      value: json[i]
    })
  }
  return arr;
}

export default JSONToArray

使用方法

data: {
        userInfo: {
          attr: {
            age: 18,
            sex: "男"
          },
          nickname: "戴向天",
          mobile: 15072939115,
          other: [{
            girl: '呆呆'
          }, 2, 3, 4, 5, 6]
        }
      }
<yc-data-view :data="data"></yc-data-view>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值