- 博客(60)
- 资源 (1)
- 收藏
- 关注
原创 打开package安装依赖的官网或GitHub
# 此命令会尝试猜测包文档 URL 的可能位置,一般没有自定义的话,就会打开包的github地址。npm docs [package-name]# ornpm home [package-name]
2022-03-03 11:32:44
252
原创 useState useEffect 简单理解
// conut创建的参数 setCount是改变的方法let [conut, setCount] = useState(0);/* 1 useEffect 没有第二个参数 moment:moment生命周期会触发 和 useState创建出来的变量改变也会触发 beforeDestroy:beforeDestroy生命周期会触发 和 useState创建出来的变量改变也会触发*/ useEffect(() => { console.log("moment"); return
2022-02-24 16:41:30
647
原创 vue 签名组件
[github地址](https://github.com/JaimeCheng/vue-esign)yarn add vue-esign
2022-01-13 10:48:48
325
原创 vue input在焦点处添加内容
insertInputTxt(insertTxt, ref = "textarea") { var aInput = this.$refs[ref].$el; // 如果使用的是组件输入框需要添加.$el var startPos = aInput.selectionStart; var endPos = aInput.selectionEnd; if (startPos === undefined || endPos === undefined) return; var txt = a
2022-01-10 11:15:02
815
原创 d3 zoom 抖动解决方案
// 思路是 zoom方法在svg上面,transform在svg下面的g上// svg 是d3创建的svg元素this.g = svg.append("g");svg.call( d3 .zoom() .scaleExtent([0.5, 3]) .on("zoom", (e) => { if (this.is_zoom) { this.g.attr("transform", e.transform); } }));
2022-01-07 15:50:06
584
原创 moment 常用时间 近几天 本月 上个月
// 近三天moment().startOf("day").subtract('days', 3).format('YYYY-MM-DD HH:mm:ss') // '2021-12-26 00:00:00'moment().endOf("day").format('YYYY-MM-DD HH:mm:ss') // '2021-12-29 23:59:59'// 上一月moment().startOf("month").subtract('months', 1).format('YYYY-MM-DD
2021-12-29 14:20:24
1192
原创 运行前端打包后的项目
npm安装servenpm install -g serve// 项目目录下serve -s dist// dist目录下serve -s
2021-12-15 14:33:57
1033
原创 vue web页面 适配 vw
yarn add postcss-px-to-viewport -D// postcss.config.js 下module.exports = { plugins: { // 行内样式不支持转换 'postcss-px-to-viewport': { unitToConvert: 'px', // 需要转换的单位,默认为"px" viewportWidth: 1920, // 设计稿的视口宽度 unitPrecision: 2, // 单位转换
2021-12-07 15:24:10
491
原创 git commit 规范
feat:新功能(feature)fix:修补bugdocs:文档(documentation)style: 格式(不影响代码运行的变动)refactor:重构(即不是新增功能,也不是修改bug的代码变动)test:增加测试chore:构建过程或辅助工具的变动...
2021-10-29 14:34:03
78
原创 canvas 亮度调整
init() { const canvas = this.$refs.text_canvas; const ctx = this.canvas.getContext("2d"); ctx.drawImage(this.img, 0, 0, 930, 515); const imgData = ctx.getImageData(0, 0, 930, 515); ctx.putImageData(changeLuminance(imgData, -0.4), 0, .
2021-10-28 14:48:36
1027
1
原创 canvas 渲染热力图
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <titl
2021-10-28 14:41:39
537
原创 react useMemo进行性能优化 相当于vue的computed
count 如果不改变就不会再次执行calcNumimport React, { useState, useMemo } from 'react';function calcNum(count) { let total = 0; for (let i = 0; i < count; i++) { total += i; } console.log("计算一遍"); return total}export default function MemoHookDemo
2021-10-27 11:55:31
892
原创 react使用useRef保存上一次的某一个值
import React, { useState, useEffect, useRef } from 'react';export default function RefHookDemo() { const [count, setCount] = useState(0); const countRef = useRef(count); useEffect(() => { countRef.current = count; }, [count]); return (
2021-10-27 11:52:58
2215
原创 vue ip input 组件
<template> <ul class="ipAdress"> <li v-for="(item, index) in ipAddress" :key="index"> <input ref="ipInput" v-model="item.value" type="text" class="ipInputClass" @input="checkIpVal(ite
2021-10-13 16:18:34
457
原创 vue moment实现两个时间的长度 hh:mm:ss
diffTime(update_date) { const duration = moment.duration(moment(Date.now()).diff(update_date)); const hours = `${duration.hours() < 10 ? 0 : ""}${duration.hours()}`; const minutes = `${duration.minutes() < 10 ? 0 : ""}${duration...
2021-10-09 13:41:13
557
原创 js 去除string首尾空格
// 过滤首尾空格 trim(str){ return str.replace(/(^\s*)|(\s*$)/g, ""); }
2021-09-18 15:57:03
624
原创 vue 搜索关键字,关键字标红
vue 使用v-html <ul v-for="item in list" :key="item"> <li v-html="item.info" /> </ul> this.voice_result.map(e=>{ if (this.red_text) { // 匹配关键字正则 let replaceReg = new RegExp
2021-09-17 14:48:14
1002
原创 禁止浏览器空格下滑滚动条
document.body.onkeydown = function (event) { var e = window.event || event; if(e.preventDefault){ e.preventDefault(); }else{ window.event.returnValue = false; } }
2021-09-09 17:43:28
1805
原创 vue 孙组件向父组件传值$listeners
vue中孙组件向父组件传递1.一层层传递 (不推荐,一层层传递太麻烦)2. 使用vuex (如果只是单纯的传递,也不是很推荐使用)3. 使用bus事件总线(但是vue3中已删除vue的事件总线)4.使用 $listeners`v-on="$listeners"` // 在各级组件上添加即可...
2021-08-30 17:08:18
641
原创 vue-cli ant-design-vue 定制主题
项目根目录下新建文件vue.config.js// vue.config.js for less-loader@6.0.0module.exports = { css: { loaderOptions: { less: { lessOptions: { // If you are using less-loader@5 please spread the lessOptions to options directly mod
2021-08-12 15:24:48
276
原创 git tag的创建 提交远程仓库
创建taggit tag v1.0.0查看taggit tag提交tag远程仓库git push --tags
2021-07-05 16:45:24
808
原创 前端下载视频音乐等
const req = new XMLHttpRequest()req.open('GET', '视频地址', true)req.responseType = 'blob'req.setRequestHeader('Content-Type', 'video/mp4')req.onload = function () { const data = req.response const blob = new Blob([data]) const blobUrl = window
2021-06-01 17:47:12
319
原创 Form表单验证规则 rules
参数说明类型默认值enum枚举类型stringlen字段长度numbermax最大长度numbermessage校验文案stringReactNodemin最小长度numberpattern正则表达式校验RegExprequired是否必选booleanfalsetransform校验前转换字段值function(value) => transformedValue:anytype...
2021-05-13 16:22:14
4160
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人