自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue2重置data里的数据

vue2重置data里的数据

2022-08-01 14:24:04 776 1

原创 python3 批量更新包,解决Specify --upgrade to force replacement

python3批量更新已安装的包

2022-07-05 11:30:55 3616

原创 js 录屏分享

js录屏分享到聊天,有浏览器就可以打开,不用下载其它软件

2022-07-01 10:49:56 580

原创 uni-app实现APP端在线预览PDF

uni-app实现APP端在线预览PDF

2022-06-08 14:10:18 834

原创 uni-app的uni-number-box组件 怎么设置支持小数

第一次使用官方的uni-numbox,把step设置成小数点,才可以输入小数点。 嗯~~。还是饿了么ElInputNumber组件好用。copy改造了下添加precision控制,小数点就ok了。template、style不变。其他更多功能去饿了么添加 export default { name: "UniNumberBox", emits: ['change', 'input', 'update:modelValue', 'blur', 'focus'], props: { val

2022-04-28 15:06:43 1988

原创 input 标签 accept 属性兼容问题

// 使用application/vnd.ms-powerpoint 类型时,一些浏览器打开是ppa,一些打开开没有ppt 或 pptx// 使用以下方式完美解决<input accept=".xls,.xlsx,.doc,.docx,.ppt,.pptx"/>

2022-02-28 17:00:25 814

原创 前端自定义导出Excel

import FileSaver from 'file-saver';import XLSX from 'xlsx';function exportExcel(_dataSource) { var wopts = { bookType: 'xlsx', bookSST: true, type: 'binary' }; var workBook = { SheetNames: ['Sheet1'], Sheets: {}, Props: {}

2022-01-11 16:28:36 369

原创 vue Element-ui el-table刷新列表后自动滚动到高亮行

vue Element-ui el-table刷新列表后自动滚动到高亮行

2021-12-24 14:55:19 1485

原创 vue Element-ui el-table合计行样式自定义、不换行显示

本项目由于合计汇总数字太多太长,又不能改变原width的情况下,自定义样式超出点点点了,又要鼠标悬浮看全。js(设置‘title’) 配合 css(不换行) watch: { //loading 为v-loading loading(bool) { !bool && setTimeout(() => { const nodeList = this.footerTr || [] nodeList.forEach(node =&g

2021-09-28 15:06:42 2449

原创 IE下载文件流,文件后缀名丢失

谷歌内核正常,IE下载无后缀名,打不开本次项目需要下载的文件就两种格式xlsx和zip所以走ie时手动添加后缀名就可以搞定了export const download = async({ url, params, method = 'post', type = 'xlsx' }) => { const isget = method.toLowerCase() === 'get'; const obj = isget ? { params } : { data: params };

2021-09-16 10:35:23 1441

原创 模拟js,apply、call的实现

// callFunction.prototype.call2 = function ( context ) { var context = context || window context.fn = this; var args = [ ] for(var i = 1, len = arguments.length; i < len; i++) { args.push('arguments[' + i + ']'); } var result = e

2021-09-02 14:54:46 68

原创 vue倒计时60秒

// _cutime = 60 resetTime(){ let timer const countDown = ()=>{ this.time--; if(this.time <= 0){ clearInterval(timer); this.time = _cutime this.$forceUpdate() return } timer=setTimeout(countDown,1

2021-08-31 09:16:11 527

原创 vue动态路由刷新后无限循环、页面空白

使用的是PanJiaChen大佬的vue-admin-template模板下载大佬的权限管理模板运行正常,自己用来改造刷新就无限循环or页面空白,下面是改造成功的permission.js相关代码// !!!自己项目不需要tokenconst hasGetUserInfo = store.getters.userInfo if (hasGetUserInfo) { // 即将要进入的目标 路由对象 if (to.path === '/login') { // if is

2021-08-25 10:47:47 1736 5

原创 js浏览器版本判断

function isIE () { const bw = window.navigator.userAgent // ie版本 10 以下 const compare = (s) => bw.indexOf(s) >= 0 // ie 11 const ie11 = (() => 'ActiveXObject' in window)() return compare('MSIE') || ie11}

2021-08-17 11:45:49 578

原创 如何将浏览器中的坐标转换为 canvas 中的坐标

function convertToCanvas(canvas, x, y} { const canvasElement = canvas.getBoundingClientRect() ; return { x: (x- canvasElement.left)*(canvas.width / canvasElement.width), y: (y - canvasElement.top)*(canvas.height / canvasElement.height) }}转换的逻辑是先

2021-08-06 08:54:19 558

原创 vue 、 在element-ui的el-table组件中 使用 el-select绑定对象时value-key的注意事项

// 绑定对象时设置了value-key,再次点击时不会高亮,找了源码发现需要key需要一致;// 相关源码isEqual(a, b) { if (!this.isObject) { return a === b; } else { const valueKey = this.select.valueKey; return getValueByPath(a, valueKey) === getValueByPath(b, valueKey); }}// ======

2021-08-04 14:33:26 1758

原创 vue 使用 this.$forceUpdate()页面没有刷新

所遇问题:使用了select、input组件,v-model后值更新了,页面数据未同步@change事件调用this.$forceUpdate(),没有效果解决办法:强制组件重新渲染// 封装个forceUpdate方法// 子组件在@change调用 this.$emit('forceUpdate')// 父组件:<Son :key="refresh" @forceUpdate="_forceUpdate" />//================data() {

2021-08-03 14:46:41 7075 1

原创 不想用原生滚动条,用Element-ui隐藏组件el-scrollbar

查看源码接受的propsprops: { native: Boolean, // 是否启用原生样式;默认false wrapStyle: {}, wrapClass: {}, // 标签样式 F12 查看 viewClass: {}, viewStyle: {}, noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能 tag: { // 自定义容器的标签 type: String, d

2021-07-28 12:34:21 341

原创 document的只读属性

1. domain: 当前文档的域名 2. URL :当前文档 url 3. referrer: 当前文档的前一个页面的时 4. anchors: 当前文档的所有锚点( 标签) 5. forms :当前文档中的所有表单 6. images :当前文档中的所有图片 7. links :当前文挡的所有链接,包括所有带 href area 标签和 标签 8. applets :当前文档的所有 applet// referrer 就是我们经常说的来源地址,也就是当前页面是从哪个页面打开的,它..

2021-07-26 10:07:00 316

原创 读书笔记:js中的null 和 undefined 的区别

1.在JS中 null和 undefined 都表示空,但它们还是存在一定区别的, null 表示不存在、没有,而 undefined 表示未定义。2.底层实现时, null 一般会指向一个全 0 的地址,当 然,这个地址是无法访问的,当遇到这种情况时就会当作不存在来处理; undefined 则表示根本不存在,或者还没有初始化,所以一个变量可以赋值为 null ,但不可赋值为 undefined。...

2021-07-22 09:16:51 284

原创 vue接入点聚weboffice打开在线文档报系统错误

运行官方的demo能正常打开线上文档放到vue打开就报错解决bug:组件初始化需要调用一下weboffice.OptionFlag |= 128;相关代码:// weboffice 组件<object ref="weboffice" :height='height' :width='width' style='let: 0px; top: 0px' classid='clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5' codebas.

2021-07-21 11:23:01 860 6

原创 js的this理解

function log () { console.log(this)}let obj = {}obj.sonobj = {son:' ' }obj.log = logobj.sonobj .log = logobj.log()// {sonobj: {…}, log: ƒ}obj.sonobj .log()// {son: " ", log: ƒ}总结:谁直接调用this就是谁,不管它是不是在调用链出现过...

2021-07-15 15:23:50 50

原创 js防抖节流

// 使用场景:防止狂点function debounce(fn,delay=500){ // 使用vue的话, debounce.timer 换成 this.timer debounce.timer && clearTimeout(debounce.timer) ; debounce.timer = setTimeout(()=>{ // fn.... debounce.timer = null },delay)}throttle (func, delay)

2021-07-15 14:16:50 69

原创 vue + element ui时 调用toggleRowSelection不生效

使用vuex存当前row,getters取row去其它组件回来时toggleRowSelection(row, true)不生效应该是函数return 取值形成了闭包,在操作页面遍历找到对应row,重新调用即可!主要代码 computed: { getHomePageRow () { return this.$store.getters.getHomePageRow } }, mounted() { this.getList().then(()=&gt.

2021-06-22 16:48:54 2657 2

原创 vue+element-ui 实现table单元格点击编辑,并且按上下键移动

1.接到需求是点击键盘上下键,控制输入框移动方便输入数据2.相关实现代码<el-table-column label="Pageviews" width="110" align="center"> <template slot-scope="scope"> <el-input-number style="width:90%" :controls="false" :min="0" @input.nati

2021-06-20 12:19:39 2569 1

原创 vue 下载本地文件

<a :href=`${process.env.BASE_URL}竣工通v1.0操作手册.docx` >操作帮助</a>1.文件我是放在public目录下的2.如果你a标签加了download 属性,请保证名字和文件名一样否则无法下载!!

2021-06-17 15:55:21 1024

原创 vue实现PC端标签拖动效果

1.拖动需要监听鼠标按下、移动、抬起事件2.一开始全部用methods绑定方法,后面发现用自定义指令directives比较方便,不用声明在data里声明变量,以及一个一个的绑定事件![在这里插入图片描述](https://img-blog.csdnimg.cn/20210528105426388.png#pic_center<template> <div class="ad" v-drag> <el-badge :value="1" class="item

2021-05-28 10:57:00 731

原创 微信小程序api Promise化

// 一、以请求为例wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/json' // 默认值 }, success (res) { console.log(res.data) }})// 二、promise化return new Promise((res,rej)=&g

2021-05-08 10:52:18 174

原创 Echarts 大屏rem适配方案

公式:// Wp 为页面有效宽度,Hp 为页面有效高度const clientWidth = document.documentElement.clientWidth;const clientHeight = document.documentElement.clientHeight; window.pageWidth = clientWidth / clientHeight > 16 / 9 ? clientHeight * (16 / 9) : clientWidth ;

2021-05-04 16:46:54 1314

原创 如何手动决定Promise返回的resolve、reject状态

有时在调用第二个函数Promise返回的状态时,还有其它判断,全部写在一个函数代码太多,可以如下拆分,手动改变状态时一定要加 return 不然下个回调拿不到值!因为第一个函数res或rej代表状态完成,第二个函数都会走.then,想要手动控制状态必须return 保持微任务状态变化。 function one () { return new Promise(function(res,rej) { // http ..... setTim

2021-04-27 13:50:57 1570

原创 ES6排序算法

const swap = function(array,index1,index2) { [array[index1],array[index2]] = [array[index2],array[index1]]} const quick = function(array,left,right) { let index; if(array.length > 1) { index = partition(array,left,right); i

2021-03-22 15:06:54 857

原创 简单的 js 发布订阅模式

class Event { constructor () { this.handlers = {} } // on addEventListener(type,handler) { if(!(type in this.handlers)) { this.handlers[type] = [] } if(!handler) { throw `请添加${type}事

2021-03-04 11:31:05 262 1

原创 js 偏函数

偏函数:是指创建一个调用另一个部分----参数或变量已经预置的函数----的函数。(这是啥?没懂)const toString = Object.prototype.toString; const isString = function (obj) { return toString.call(obj) == '[object String]'; }; const isFunction = function (obj) { return toString.call(obj) == '[o

2021-03-03 10:24:29 625

原创 今天开始收集错误提示本

<swiper current="{{activeKey}}" style="height:{{swiperHeight}}px"> <swiper-item> <view id="swiper-serve-wrap"> <g-nav-list serviceList="{{serviceList}}" /> </view> </swiper-item></swiper&g

2020-12-25 11:41:17 61

原创 css 绑定变量

// 绑定style="--shadowColor:{{shadowColor}};--background:{{background}}"// 使用.css{ background:var(--background); box-shadow: 1px 2px 3px var(--shadowColor);}

2020-12-22 11:36:23 1119

转载 js对象clone方法

const tabelTitleArr = ['name','age','sex'] ;this.data.forEach((item,i) =>{ // 报错 const params = { title[0]: item.name, } ; // 正确 // key 值是其他引用对象也是如此 { [obj[key]] : xxxx} const params = {

2020-12-03 11:20:34 1339

原创 uni-app如何不加前缀iconfont使用font-class 图标库

阿里图标我习惯直接写<text class="icon-xxxx"></text> 所以下载引用的时候把@font-face里的 {font-family: “iconfont”;},改成{font-family: “icon”;}然后在app.vue样式加上[class*="icon-"] {font-family: "icon"; font-size: inherit; font-style: normal;}就可不用写前缀了...

2020-11-23 20:20:49 607

原创 vue 对比 react 语法快速学习运用

// vue vs react<template>// 对应 react render() { return ( <div> xxxxx </div> ); } </template><script> // 对应react class Xxx extends React.Component { xxxxxx } // 或者 function Xxx()

2020-10-26 16:01:36 119

原创 为原生微信小程序添加监听函数

有时候需要监听原生data里面的某个值改变执行相应的函数方法1:Proxy一.声明proxyWatch() { const me = this; return new Proxy(this.data,{ set: function( ) { me.Fn() // 值改变需要执行的func return true; } }) } 二.使用 this.proxyWatch().value= request.xxxx; 该执行更新视图的set

2020-10-22 10:58:50 744

原创 windows 桌面切换快捷键

Tab + win 查看窗口;Ctrl + win + d 新建窗口Ctrl + win + <— —> 切换窗口

2020-10-21 09:36:19 682

空空如也

空空如也

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

TA关注的人

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