vue3 - 封装图表组件

 

 

把相同或者类似的图表进行封装

父组件使用:

1
2
3
4
5
6
7
8
9
<Report
        :info="main4"
        :xdata="RXData4"
        :sdata="RSData4"
        :title="title4"
        :color="color4"
        :barBorderRadius="barBorderRadius4"
        class="div"
      ></Report>

  引入组件

1
import Report from "@/components/Report/index";

  定义变量

1
2
3
4
5
6
7
8
9
10
11
12
const data = reactive({
  RXData4: [],
  RSData4: [],
});
const title4 = ref("重点应用单位");
const color4 = ref(["#9FF6F6", "#00E3E6"]);
const barBorderRadius4 = ref([5, 5, 0, 0]);
const main4 = ref("main4");
const {
  RXData4,
  RSData4,
} = toRefs(data);

然后自己从接口里面取数据给RXData4和RSData4填充数据

ps:我页面组件使用了setup语法糖

 

子组件:

  

 

ps:需要注意同步异步取数据的问题,我这边用的是在子组件用watch监听数组的方法,也可以在父组件中用v-if来实现,考虑到实现效果的美观度建议用watch和watcheffect

子组件props用defineprops后 可以直接使用props.属性取值 我这里是直接使用toRefs,然后直接使用x.value实现

 

posted @   阿蒙不萌  阅读(576)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示