
前端
前端开发过程中遇到的各种问题,包括不限于vue, React
肩上杯雪
自强不息,知行合一
展开
-
JS JSON和Object的区别
前言在写js代码时,经常看到这样的情况:ob['arr1'] = "String";ob2.arr = "String"总是有些困惑,它们的type都是object,为什么读取属性的方式不同。区别具体的概念等就不赘述了,就说声明以及使用。JSON// 声明let json = { 'arr1' : 'string1', 'arr2' : 'string2'};// 使用const getArr = json['arr1']; // 动态赋值let json = {转载 2021-11-25 18:35:54 · 841 阅读 · 0 评论 -
JS 对象动态添加Key value对
需求json对象动态添加key value对。例如 目前有个数据 columnList和dataList,需要解析成jsonArraycolumnList: [ '表头1', '表头2', '表头3']dataList: [ ['数据1', '数据2', '数据3'], ['数据11', '数据22', '数据22'],]=> data : [ { '表头1': '数据1', '表头2': '数据2', '表头3': '数据3' } ,{}]可以理解为动态增加Json原创 2021-09-18 15:37:10 · 13244 阅读 · 2 评论 -
echarts 饼图 逆时针降序排序
需求echarts饼图,按照其每块的大小,逆时针从大到小排序,这样很清晰的看到大小关系。实现因为饼图数据是 [{ name, value }] 这样的 JSONArray,而我们查echarts官方文档可以得知,echarts默认是顺时针排序的,那么我们只要将 JSONArray按照value进行排序,最后得到的就是一个有序的饼图(不论是逆时针还是顺时针从大到小);JSONArray进行排序,可以查看MDN官方文档得知:arr.sort([compareFunction])其中的参数原创 2021-09-09 11:34:12 · 7410 阅读 · 0 评论 -
Antd Table 点击行变换背景颜色 (Antd React)
需求实现的目标是,点击这一行,然后出现一个modal,这个modal可以拖拽,并且可以知道是点击哪一行出现的事件。那么需要做的就是,点击这一行,然后其背景颜色变化。实现Antd Table有 rowClassName 属性,可以在 css设置其样式,那么我们只要点击行,然后记录点击的 rowkeyrowClassName设为一个函数,读取(record, index) ,判断其index 是否等于rowkey,如果等于就return一个类名。代码 {/* Table组件,其中在 onCl原创 2021-09-02 14:20:40 · 3514 阅读 · 0 评论 -
vue 跳转新页面并传参
前言 最近开发过程中有个新的需求,需要点击事件后跳转新的页面然后通过传参的数据展示表格。 具体来说,在一个Modal容器中,有一行字 “XXX目录”,点击这个目录,就会跳转新的页面,将需要的参数传给新页面的组件,然后向后端获取数据并且展示表格。 因为是在项目中,我们肯定要使用路由的方式。思路首先查了一下有两种方式打开新页面this.$router.push()this.$router.resolve()这两种方式的区别就是,push是在当前页面打开新的路由并加载组件,resolv原创 2021-07-09 10:39:52 · 5171 阅读 · 7 评论 -
echarts 与 vue v-if结合
前言需求 : 两个 tabpane,其中一个用来筛选数据,另一个在数据筛选完成之后才显示,里面有几个echarts饼状图,用来进行统计分析。遇到的困难:一开始在 tabpane直接使用 v-if,然后下面 v-if 无数据时 empty组件,有数据时 渲染饼状图。但echarts在初始化 dom时(无论是 getElementByid 还是 ref方法),都需要有dom存在,而v-if 的特性是,有条件时 dom渲染,无条件时 dom直接不存在,这样就会使得 echarts报错。那么我就想到原创 2021-06-29 19:45:45 · 2723 阅读 · 0 评论 -
echarts宽度如何设为百分比
前言问题 : 有八个饼状图要展示,其中一行展示两个饼状图。一开始是固定了宽度为450px,但到了宽屏上一行就会展示三个。思路:于是想当然的想到将 width 设为 百分比,继承父组件的宽度。但是改完之后图缩到了一起,网上查了查,发现echarts源码中,计算宽度的时候将 100% parseInt -> 100px, 所以比如我改成了45%, 就会显示为 45px。解决:最后查了各种博客,得到了解决方法,就是根据别的组件宽度来动态改变echarts图标的宽度。代码var width =原创 2021-06-29 16:43:46 · 3816 阅读 · 0 评论