自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 创建唯一ID

Math.random().toString(36).substr(2)

2022-04-22 15:34:55 163

原创 redux / rematch

重新思考Redux - Rematch实践指南

2022-03-22 15:22:41 225

原创 lodash

compact:过滤0,false,undefined等假值 _.compact([0, 1, false, 2, '', 3]); // => [1, 2, 3] drop:从头截取,返回剩余切片 _.drop([1, 2, 3]); // => [2, 3] _.drop([1, 2, 3], 2); // => [3] _.drop([1, 2, 3], 5); // => [] _.drop([1, 2, 3], 0); // => [1, 2,

2022-03-15 16:43:54 219

原创 比较两个对象的层级是否一样多

原始数据staticData=[ {value:1,chiledren:[{value:1-1,children:{value:1-1-1}},{value:1-2,children:{value:1-2-1}}]}, {value:2,chiledren:[{value:2-1,children:{value:2-1-1}}]}, {value:3,chiledren:[{value:3-1,children:{value:3-...

2021-06-25 22:34:32 156

原创 将数组【】递归成对象{}

[1,2,3] { value:1, children:{ value:2, child } }

2021-06-17 17:09:02 240

转载 react-dev-inspector

react项目中有这样一个款插件react-dev-inspector,用来解决什么问题呢? 就是当一个已经上线的项目出现了一个bug的时候,如果你对该项目不是非常熟悉,那么你就需要从来去捋一遍代码,还要非常费劲的去找到该处的代码位置,那么react-dev-inspector就是来解决这个问题的。借用github的一张动图来表示,如下: 一、配置loader 在webpack中配置loader的作用是,在打包的过程中获取代码的位置,并记录在元素的html属性上,基本上有这么几个内容:...

2021-06-17 15:21:23 2191

原创 vue优化

一、vue-router组件懒加载: 在网站加载时会自动解析需要加载哪个 chunk,但是单看请求首屏速度的话会快很多 二、template: 循环数组加上:key,避免报错。 三、代码规范: eslint:代码风格优化,比如缩进,分号,空格,注释 typescript:js类型检查 四、动态菜单: 目前菜单信息是一个固定的数组,动态菜单可以做用户的权限控制 五、公共组件封装、减少重复代码: a)...

2021-06-17 15:18:32 98

原创 reactjs开发规范

开发规范 一、关于生命周期的使用 废除的三个旧的生命周期禁止使用(以下为废除的生命周期) componentWillMountcomponentWillUpdatecomponentWillReceiveProps 使用新增的两个生命周期getDerivedStateFromPropsgetSnapshotBeforeUpdate 二、提升组件性能 一律使用PureComponent类继承组件组件中的设计的列表key的值禁止使用索引,使用数据计算的hash值 三、一个组件类内部的编写...

2021-06-17 15:16:36 254

原创 代码规范啊

1、引用组件顺序: 先引用外部组件库,再引用当前组件块级组件, 然后是 common 里的公共函数库最后是 css 样式 import * as React from 'react'; import { Dropdown, Menu, Icon } from 'antd'; import Header from './Header'; import toast from 'common/toast'; import './index.less'; 2、命名: 类名: 大驼峰式风格,字母和数字,例

2021-06-17 15:07:55 117

原创 复制功能

copyText () { let text = this.code var input = document.getElementById('input') input.value = text // 修改文本框的内容 input.select() // 选中文本 document.execCommand('copy') // 执行浏览器复制命令 this.$toast('复制成功') }, ...

2021-05-27 16:49:21 149

原创 textarea插入表情

push (str) { console.log(str) var text = document.getElementById('mytextarea') var textLength = text.value.length text.focus() if (typeof document.selection !== 'undefined') { document.selection.createRange().text = str } else { text.value = text..

2021-05-27 15:31:35 1137 3

原创 在循环体内发起请求 统一返回做处理

2021-05-20 17:10:43 153

原创 tree-select 公司部门递归

<template> <a-tree-select class="company" v-model="value" style="width: 100%" :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" :tree-data="treeData" placeholder="Please select" tree-default-expand-all :replaceFields="{ children

2021-03-10 11:04:37 339

原创 antd 的table td 超出部分隐藏并显示省略号 ,鼠标悬停显示内容

columns = [ { title: '描述', dataIndex: 'desc',key:"desc", onCell: () => { return { style: { maxWidth: 150, overflow: 'hidden', whiteSpace: 'nowrap', textOverflow:'ellipsis', cursor:'pointer' } } }, render: (text) => <Tooltip placement="topLeft" tit

2020-12-27 16:08:51 2762

原创 时间选择器 只能选择今天起30天

<template> <div> <a-range-picker :disabled-date="disabledPriceRangeDate" v-model="priceRangeDate" @calendarChange="calendarPriceRangeChange" @change="changePriceRangeDate" format="YYYY-MM-DD" /> </div> </template> &

2020-11-23 16:10:36 510

原创 table合并列

import React, { useState, useEffect, useRef } from 'react'; import { Table, Button, Tooltip, Modal, } from 'antd'; const Index = () => { const listData = [{ skuId: '143621', skuName: '无线产品7', storeName: 'pb顺丰仓', options: [{ ta.

2020-03-30 11:06:27 579

原创 变量提升 this 构造函数 公有私有方法

1 function Foo() { getName = function () { alert (1); }; //定义静态属性 没有用var来声明 会修改window下getName的值 return this; this的指向是由调用的方式决定的 函数调用的方式this指向window 对象下的方法调用指向对象 } 2 Foo.getName = function () {...

2020-03-30 11:03:23 161

原创 递归菜单

importReact,{Component}from'react'; import{Menu}from'antd'; import'antd/dist/antd.css'; import'./App.css' const{SubMenu}=Menu; classAppextendsComponent{ fn(subMenus...

2020-03-23 18:54:38 300

原创 slice splice

slice 返回一个新数组,不改变原数组 (start,end) slice(-5) 从倒数第五个开始截取,一直到最后,用来摘取数组中的最后几位 splice 改变原数组(startIndex, 删除几个,填补内容) ...

2020-03-14 16:13:08 219

原创 模糊查询

模糊查询的时候需要在state中保存两个变量 一个变量恒定不变 每次遍历时都是从这个变量里面遍历 这个变量不会呈现在页面中 一个变量是展示页面中变量 这个变量的值是改变的 是呈现在页面上的值 ...

2020-03-13 17:24:54 472

原创 upLoad上传文件

2020-03-13 09:28:27 124

原创 点击下载

通过a链接href属性 值是后台给的网址 会在当前浏览器页面下载一个文件

2020-03-12 20:53:06 215

原创 react 函数的绑定

fn(e){ console.log(e.target.value) } <Input onChage={this.fn.bind(this)}> 方法一 //需要绑定this 不需要传e <Input onChage={(e) => this.fn(e)}> 方法二//箭头函数不用绑定this 需要传参数e react三种绑定函数的方式 一在...

2020-03-12 09:15:38 285

原创 react配置eslint

https://yq.aliyun.com/articles/663255 npm install eslint --save-dev npm install eslint-config-airbnb --save-dev npm install eslint-plugin-import --save-dev npm install eslint-plugin-jsx-a11y --sav...

2019-01-31 10:55:04 1120

原创 nginx配置

#cd / ———根目录 #cd usr/local/etc/nginx ——nginx.conf(nginx配置文件目录) ##nginx -V ——查看nginx版本及安装目录 ##nginx -v ——查看nginx版本 ##ps -ef|grep nginx ——查看启动的nginx服务进程 ##sudo /usr/local/Cellar/nginx/1.1...

2019-01-15 11:29:28 132

原创 尽可能遍历对象而不是switch

2019-01-07 10:58:58 225

原创 数组

数组的复制 const arr =[1,2,3]; const arr2=[...arr]   Array.from()将类数组转成数组 const nodes=document.querySelector('.classname') Array.from(nodes).forEach(node)   判断数组中是否存在某个值 includes()返回布尔值 可以做 if()条件判...

2019-01-07 10:55:39 122

原创 上传前端代码到服务器

 使用WinSCP上传node包到相关位置 使用MobaXterm进入对应目录 git命令拉取clone代码 下载依赖 npm start

2019-01-04 16:34:30 2962

原创 webpack

为什么使用webpack:      现在都是模块化开发,一些less sass jsx vue等文件并不能被浏览器锁识别 因此要全都打包成标准的静态文件js css来被浏览器所识别       也可以做一些性能优化 --save--dev 开发版本 创造 --save  生产环境 市场运行 保存到项目依赖中 查看版本号 webpack -v  (node -v 等等) 将src下的入...

2019-01-04 16:26:56 119

原创 proxy代理

2019-01-03 17:02:58 135

原创 node持续监听

npm i nodemon -g 必须全局安装 例如在命令行输入:modemon index.js

2018-12-21 09:46:07 702

原创 部署前端代码

工具 MobaXterm(用于操作nginx启动服务器的)  WinScp(用于将本地build包考入服务器上的) 登录winScp 输入申请好的服务器ip地址 输入对应的账号密码 将本地磁盘的build文件拖拽到home/wyl404668  如下    登录MobalXterm 操作nginx系统  首先确保当文件目录下有最新的build包   进入cd /alidata ...

2018-12-13 10:49:35 2852

原创 tab和echart

tab切换里面在加载不同的echarts报错getAttribute错误 是因为获取的时候dom节点的时候出错了 需要setTimeOut才可以获取到节点 需要在onChange中获取节点 最好才用ref去获取节点 在tab里面封装一个公共组件的话 组件渲染需要在willReceiveProps里面执行 父组件传递props就好   ...

2018-12-12 18:30:31 323

原创 dependencies&devDendencies

dependendies依赖 比如echart react等需要的必要的依赖 devDependencies 开发依赖 比如eslint webpack等开发时候才用的依赖 -D --save-D

2018-12-12 15:13:13 221

原创 函数

function fn(...arg){    console.log(arg) // [1,2,3]    型参arg是个真正的数组(推荐使用)    argument是个类数组(不推荐) } fn(1,2,3)   型参设置默认值 function(option={},arr=[]){ }  ...

2018-12-06 15:40:37 92

原创 解构赋值

在数组中最好的结构赋值方法 const arr=[1,2.,3] const [ffirst,second] = arr   在函数传参中结构赋值 fu({name:",sex:"}) function fn({name,sex}){ }(建议) function fn(params){ const name=params.name; const sex=params.sex ...

2018-12-06 14:38:09 121

原创 做分页处理数据的方法

makeData().slice((pageNum-1)*pageSize,pageNum*pageSize)

2018-11-30 17:31:27 332

原创 proxy

2018-11-21 14:53:05 116

原创 html

1.form+filedset+legend 对表单中相关元素进行分类 &lt;form&gt;  &lt;fieldset&gt;   &lt;legend&gt;Personalia:&lt;/legend&gt;   Name: &lt;input type="text"&gt;&lt;br&gt;   Email: &lt;input type="text&quot

2018-11-15 11:00:35 122

原创 bootstrap

小屏导航条折叠  导航和内容锚点关联 滚动内容对应导航高亮 标签页tab

2018-11-15 10:11:05 120

空空如也

空空如也

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

TA关注的人

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