自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (4)
  • 收藏
  • 关注

原创 JS获取地址栏中url的参数,返回一个对象

在工作中,时常会有从地址栏中拿取对应的参数,当参数过多时,我们会考虑封装成一个方法,将参数放在对象中返回,这样获取会更加方便,下面列出了两中方法。第一种//路径 https://editor.csdn.net/md?articleId=1&&articleNum=1&opt=editgetUrlParams = () => { let url =...

2020-03-26 13:23:59 1834 1

原创 解决webpack-dev-server 自动打开浏览器失败的问题

在学习webpack-dev-server的过程中,浏览器无法自动打开,已解决。

2022-06-15 10:39:08 901 1

原创 webpack打包字体文件后无法加载,显示failed to decode downloaded font

项目场景:使用webpack打包字体文件,例如iconfont.svg、iconfont.eot、iconfont.ttf等。问题描述webpack打包字体文件后无法加载,显示failed to decode downloaded font。webpack打包字体文件之后,字体图标不展示,显示一个小框,检查之后确认字体图标的样式已经设置上,但就是没有展示,打开控制台,展示如下图所示的报错。使用file-loader和ur-loader都无法实现{ test:/\.(svg|eot|

2022-05-19 17:42:44 1156

原创 ResizeObserver Polyfill监听元素宽高的变化,在React中的应用

当需要对窗口大小变化做监听时,可以使用onresize函数。Resize Observer API 提供了一种高性能方法可以监视元素的大小更改。原理:使用 ResizeObserver()构造函数创建一个新对象,然后使用 ResizeObserver.observe()来监听dom对象,每dom对象的大小发生改变时,构造函数中设置的回调函数便会运行。resizeObserver.observe(): 监听一个dom元素resizeObserver.unobserve(): 注销掉监听的dom元.

2020-07-31 15:26:24 5111

原创 将antd中的Tree组件放在Form表单里面

问题:前一段时间使用antd的Tree组件的时候遇到一个问题:将Tree组件放在Form表单的时候,想用initialValue给Tree的defaultExpandedKeys,defaultSelectedKeys和defaultCheckedKeys赋初始值,已找到解决方法。解决思路:Tree 不是 form control,你不能直接把 Tree 丢给 getFieldDecorator,需要把 Tree 封装下再丢给 getFieldDecorator。注意4.x版本的antd不支持

2020-06-28 11:16:44 4319 1

原创 在react中使用antv g2绘制带有sider滑块的chart图表

在slider中会遇到的问题,slider两边要求展示的为文字,但过滤的时候过滤条件为下标,实现思路如下:过滤的时候判断条件是数值类型即下标,但为了在滑块两端展示文字,需要将’start’,'end’那边改成对应的起始终止文字,但又会出现新的问题,就是在onChange里面打印的startText和endText也为相应的文字而不是下标,考虑着在变化的时候需要将变化的下标赋值给ds里面的from和to,不然chart图表不再展示,就需要进行遍历判断一下,找到文字下对应的下标,然后赋值给from和to

2020-05-25 13:48:18 1920

原创 antvg2中的Slider 滑块插件的简介

1. 使用前提:Slider 组件作为 G2 的交互插件,必须在 G2 引入的前提下使用!为了做到纯粹和解耦,Slider 组件是完全基于数据的筛选操作,需要配合 DataSet 以及状态量使用,当滑动条发生变化时,通过定义 onChange 更新状态量,来达到图表的自动更新。引入脚本import G2 from '@antv/g2';import Slider from '@antv/g2-plugin-slider';const slider = new Slider({ })

2020-05-21 10:53:51 3095 1

原创 antv g2绘制雷达图,点击横坐标的label变色

需求介绍:绘制雷达图点击label改变样式解决思路:首先考虑着使用g2自带的label来进行展示,虽然通过chart.on('axis-label:click',ev=>{})可以拿到当前点击的哪一个,但是label内部没有回调函数,无法进行判断来展示不同的颜色。然后再考虑使用辅助文本chart.guide().text({}) 来展示label,label展示出来了,但位置是根据数据变化的,所以位置不好控制,在辅助文本的点击事件里面重新绘图,辅助文本的点击事件chart.on('gu

2020-05-19 18:37:36 4010

原创 JS获取图片真实的宽高

今天遇到一个有关获取图片真实宽高的问题,不管怎么获取,拿到的宽高都是0。然后在网上找了一下解决方法,在这边记录一下,供大家参考。需求介绍:进入页面之后,首先是调接口,根据返回的图片的url,将图片展示在页面上。因为图片是展示在固定区域内,只允许等比例缩放,不允许拉伸,也就是说,当图片宽高大于这一区域的时候,图片等比例缩放,当图片宽高小于这一区域的时候,就展示图片真实的大小。解决办法要实现上面的需求,就需要获取到图片真实的宽高,然后与展示区域的宽高进行对比,将图片展示在特定区域。通过jquer

2020-05-19 10:25:21 728

原创 react中引入百度地图时,去掉百度地图的logo和信息

引入百度地图时,会发现地图的左下角会有logo和信息,在项目中我们是不需要这些的,采用css就可以将其去掉.anchorBL{ display:none; }

2020-05-14 16:13:36 497

转载 使用es6模板字符串嵌入变量,并实现循环

模板字符串支持嵌入变量,只需要将变量名写在 ${} 之中。在模板字符串中,遍历数组,生成循环结构。let arr=['aaa','bbbb','c','dd','f']let temp=`<ul> ${arr.map(item=>{ return `<li>${item}</li>` }).join('')} </ul>` console.log(temp); /*<ul> <li>aa

2020-05-12 18:48:29 4339 3

原创 JS实现一段字符串转换成5个字符为一组的数组

今天遇到一个新的需求,展示一段字符串,一行展示5个字,不足5个字的则全部展示。由于字符串时后端直接返回的,长度内容不确定,所以考虑着将这一段字符串转换成有顺序的数组,5个字符为一组。方法一 let str = '长江后-浪推前浪啦啦啦啦啦拉了拉', arr = []//用于保存每次截取后的字符串 function creatArr(str) { var len = str.length let newStr = ''//截取之后返回的新字符串 if

2020-05-11 19:05:51 2098

转载 vh与vw

1. vhvh是当前屏幕可见高度的1%,height:100vh == height:100%;注意:当元素没有内容时候,设置height:100%该元素不会被撑开,但是设置height:100vh,该元素会被撑开,其高度与屏幕高度一致。2.vwvw就是当前屏幕宽度的1%注意:设置width:100%,被设置元素的宽度是按照父元素的宽度来设置,但是100vw是相对于屏幕可见宽度来设置的...

2020-05-07 18:15:48 641

原创 react引入antd报警告--findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of CSS..

警告内容警告原因src/index.js中使用的严格模式。解决办法删除<React.StrictMode>标签

2020-05-07 09:36:32 2245

原创 CSS3实现0.5px的边框+渐变+伪元素补充

面试的时候被问到如何使用css3实现0.5的边框,当时脑袋蒙圈,想着直接设置border为0.5px,但肯定是不可以的。思路:将元素的伪类高度设为1px,使用css3的渐变(linear-gradient),50%有颜色,50%透明,个人感觉思路没有问题,不知为何页面不展示线条。伪类 + scaleY(0.5) 实现边框为0.5px伪类+linear-gradient<!D...

2020-04-29 19:00:44 836

原创 g2绘制点图,鼠标移入点上出现tooltip,对应的label消失

g2绘制点图,实现鼠标移入点上,tooltip展示,对应的label消失,鼠标移出之后,tooltip消失,对应的label展示出来。思路:给point注册鼠标移入事件,可以拿到当前移入的元素的数据,通过数组的findIndex方法,可以找到与当前移入元素的下标。label的格式是自定义的,用原生js可以获取所有的label数组,label的个数和总数据的个数是一一对应的,所以可以根据...

2020-04-27 11:00:12 1992 2

原创 js数组去重

1 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中includeslet reg = [1, 1, 2, 2, 22, 4, 4, 6, 6, 8] let arr=[] reg.forEach(item => { if (!arr.includes(item)) { arr.push(item) } })...

2020-04-21 16:46:23 116

原创 给定一个数组,让数组的每一项都乘以2几种实现方法

如实现:[1,2,3] => [2,4,6]方法:forEach / map / for / for…in / for… of / reduce1.forEach如果要使用数组的forEach()方法对其改值时,需要直接通过arr[i]这种方式来更改。let arr=[1,2,3]arr.forEach((item, index) => { item=...

2020-04-21 15:54:19 10229

原创 使用antd中的Upload组件上传图片

实现的功能:上传图片支持预览和删除新上传的图片的不支持下载功能,应该是在本地上传的图片没有找到对应的urlupload文件用户可以上传图片并在列表中显示缩略图。当上传照片数到达限制后,上传按钮消失。import React from 'react';import { Upload, Icon, Modal, message } from 'antd';import $state...

2020-04-17 15:18:52 7048

原创 在百度地图上添加覆盖物,并且可以移动覆盖物

实现的思路:引入覆盖物的坐标点数据,对于本地mock的数据,可以写在js文件中,用变量接收一下,然后在当前文件中引入,直接使用对于的变量即可拿到mock的数据。试过使用json数据,但总会出现跨域问题,果断放弃了。地图展示在地图上添加覆盖物循环给覆盖物添加需要的属性,如ply.name=xx如果百度地图和外部列表联合使用,外部列表需要使用到覆盖物中的某个属性,需要将地图的所有覆盖物暴...

2020-04-16 12:18:25 1711

原创 百度地图缩放功能

实现地图缩放功能:滚动鼠标的滚轮点击自定义缩放控件,点击 + 是放大地图,点击 - 是缩小地图<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-wi...

2020-04-16 11:31:22 5550 4

原创 g2文档整理

1. 渐变色G2 中提供了线性渐变、放射状 / 环形渐变两种形式,使用方式如下:线性渐变// 使用渐变色描边,渐变角度为 0,渐变的起始点颜色 #ffffff,中点的渐变色为 #7ec2f3,结束的渐变色为 #1890ffstroke: 'l(0) 0:#ffffff 0.5:#7ec2f3 1:#1890ff';放射状 / 环形渐变// 使用渐变色填充,渐变起始圆的圆心坐标...

2020-04-10 15:38:43 882

原创 设置g2中tooltip 的辅助框样式

tooltip

2020-04-09 16:44:00 1658

原创 在react中引入装饰器报错, Support for the experimental syntax 'decorators-legacy' isn't currently enabled

在新建的react脚手架中引入mobx的装饰器,会报以下错误Support for the experimental syntax 'decorators-legacy' isn't currently enabled这是因为我们没有装支持装饰器的组件,需要完成以下几步:1. 运行npm run eject 暴露配置文件注意:在新建的react脚手架中,运行npm run eject命令会...

2020-04-09 11:16:06 614

原创 React中插入可编辑行的table表格

/* * @Description: * @Author: wanghuilan885 * @Date: 2019-07-09 17:37:24 * @LastEditTime: 2019-12-05 10:59:22 * @LastEditors: Please set LastEditors */import React from 'react'import { Icon,...

2020-04-08 18:00:04 5148

原创 js保留两位小数的几种方法

下面给出了几种保留两位小数的方法1. 封装函数 function toDecimal2(x) { let f = parseFloat(x); if (isNaN(f)) { return false; } f = Math.round(x * 100) / 100; let s = f.toString(); let rs = s.indexOf(...

2020-04-08 14:50:21 491

原创 解决React中多行文本省略不生效的情况

在React项目之中不生效是因为在react编译后没有-webkit-box-orient: verticalindex.js文件import React from 'react';import "./index.less"export default class App extends React.Component { constructor(props) { ...

2020-04-03 14:36:42 573

原创 css设置文本溢出显示省略号的样式

文本溢出分为两种情况,一种是单行文本溢出,一种是多行文本溢出。单行文本溢出显示省略号width: 140px; //宽度必须要加上white-space: nowrap; //不换行overflow: hidden;text-overflow: ellipsis; //省略号“…”隐藏超出范围的文本display: inline-block; //如果不是行内样式,需要转成行内样式...

2020-04-03 14:27:46 460

原创 css来设置滚动条的样式

css

2020-04-03 10:15:57 108

原创 react+js实现textarea的高度自适应

在react中插入textarea,由后端返回的内容决定textarea的高度。import React from 'react';import {Input} from 'antd';import $ from 'jquery';const { TextArea } = Input;let valueShow='文本文本文本文本文本文本文本文本文本文本文本文本文本文本'export...

2020-04-02 17:48:37 895

原创 js简写城市名称

shortName(cityName){ if (cityName.includes("西双版纳")){ return '西双版纳' }else { return cityName.replace('市', ''); } } //西双版纳傣族自治州==>西双版纳 //南京市==>南京...

2020-04-02 17:07:59 1416 1

原创 g2自定义chart的label+将获取到的数据转换成chart表需要的数据

chart的label分为两种,一种是坐标轴的label,一种是chart图(条形图,折线图等)上展示的label。import { G2 } from "g2"const data=[{city:'北京',val:2111,type:'供应面积'},{city:'上海',val:1311,type:'供应面积'},{city:'南京',val:1241,type:'供应面积'},...

2020-04-02 15:31:10 1828

原创 css+git+算法

2019-10-17 技术分享会CSS不要嵌套太多 .a .b .c .d .e {}避免页面之间的样式相互覆盖,在最外面用id来包裹下面的代码覆盖上面的,这样也可以避免merge的时候冲突Gitgit init 初始化项目vi 编辑 vi a.txt esc:wq! 强制重启配别名 git config --global alias.s status ...

2020-03-31 21:20:11 99

原创 点击input框去掉阴影和边框

input框点击去掉阴影(已经加了border:none,outline:none).ant-input:focus {​ border: none;​ bo...

2020-03-31 21:13:46 5241 1

原创 antd中的弹框的定位相对不变

1. antd中的弹框的定位问题在不同的分辨率下,弹框的位置相对不变,如果写死left和top的话,会有影响解决:用js来控制,例如有一个固定的元素,获取这个固定的元素的left和top, 加减固定的数来给model <div className="switch-plate-wrapper"> <Tooltip title={selectedPla...

2020-03-31 21:05:17 1074

原创 解决使用g2绘制图表,数据全为null时页面展示不为空的情况

G2数据全部为null时,页面显示优化如果数据全部为null 会出现下列这种情况 如果出现可以这样优化this.state.view.source(data,{ area:{type:'linear'}})

2020-03-31 15:59:32 2050

原创 解决chart.js重复绘图问题

使用antv g2绘制chart,页面上进行axios操作之后数据改变,新数据在页面上会重新绘图,但之前的图表依然存在,现在解决的是在绘制新图之前清除之前的图表。第一种chart.destroy() ----这种方式在某些情况下destroy会报错,可以采用下面的方法。desyroy:销毁图表,删除生成的图表对象。clear:清空图表上所有的绘制内容,但是不销毁图表。let ch...

2020-03-31 14:15:49 3181

原创 antv g2设置chart图例的legend为一条线与一个圆的组合

示例/* * @Description: 【商办】土地年度平均地价及溢价率 * @Author: wanghuilan885 * @Date: 2019-11-19 18:44:04 * @LastEditTime: 2020-02-19 16:40:48 * @LastEditors: Please set LastEditors */import React from 'rea...

2020-03-30 14:54:52 7238 4

原创 二维数组转对象+实战

1. 数组转对象[[],[],[]]=>[{},{},{}] var arr =[ [1,2,3], [5,6,7] ] var result = arr.map(vals => vals.reduce((obj, val, index) => Object.assign(obj, { [index]: val }), {})) console....

2020-03-30 14:24:00 1173

原创 封装千分位的两种方法

class FormattNumber {// 千分位formatNumber = num => {if (isNaN(num)) {throw new TypeError(“num is not a number”);} var groups = (/([\-\+]?)(\d*)(\.\d+)?/g).exec("" + num), mask = grou...

2020-03-30 11:49:37 225

整理前端今日头条面试题

整理了今日头条面试题, 方便自己查看, 并且查漏补缺, 分享给大家仅供参考, 中间有不正确的地方可以方便交流

2020-04-21

了解浏览器的工作原理

包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分

2020-04-21

在【浏览器】中从URL输入到页面展现到底发生了哪些事

整理了在【浏览器】中从URL输入到页面展现到底发生了哪些事情,便用工作中更好的理解项目和页面渲染原理

2020-04-21

Map方法

Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值) 都可以作为一个键或一个值。

2020-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除