自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文本超出部分用省略号代替,鼠标移上去显示全部内容

overflow: hidden; text-overflow: ellipsis; //超出部分以省略号显示 white-space: nowrap; width: 280px;

2022-03-08 12:16:02 606

原创 删除字符串末尾的0

a.replace(/(0+)$/g,"")

2022-03-08 12:14:22 1067 1

原创 将对象转化为字符串,并且将对象中的key去掉引号

一,对象的value中没有地址,没有: export function rmMarks(code) { var codeArray = code.split('\n'); codeArray = codeArray.map(i => { if (i.indexOf(':') != -1) { let prefix = i.split(':')[0]; let suffix = i.split(':')[1]; prefix

2022-03-08 12:13:14 480

原创 antd 级联选择 Cascader

因为一般接口返回的值都叫name和code,但是antd的级联选择中指定了属性名叫 label和value,所以我们需要改变参数名,将接口的返回值传入下面函数function convertKey(arr){ let tempString = JSON.stringify(arr); let jsonObject = {name:"label",code:"value"} for(var key in jsonObject ){ var reg = `/"${key}":/

2022-03-08 12:05:46 1744 1

原创 antd 下拉框select 搜索显示的内容而不是value的值

<Select showSearch optionFilterProp="children"> <option value='1'>一</option> <option value='2'>二</option> <option value='3'>三</option></Select>

2022-03-08 12:01:29 773

原创 无法判断数组是否为空 select下拉框进行map时

<Select> (videoListArr || []).map(item=>{ <option value={item.id}>{item.name}</option> })</Select>

2022-03-08 11:56:42 148

原创 动态更改input的值

动态更改input值

2022-03-08 11:42:19 969

原创 取消滚动条 js

js取消给滚动条

2022-03-08 11:33:55 1363

原创 antd 全局设置为中文 在umi.rc文件中

antd设置全局中文

2022-03-08 11:29:23 1435

原创 antd让form表单右对齐

form表单对齐

2022-03-08 11:13:50 3623

原创 antd 表单设置默认值

const [form] = Form.useForm(); const fetchEdit = async () => { try { const res = await getStationEdit({ id: props.location.query.id }); console.log(res, '22'); form.setFieldsValue({ companyName: res.companyNa

2021-08-11 10:35:46 811

原创 react 基础学习

文章目录入门基础入门基础一、基础语法(类组件)//跟组件中class Parent extends React.Component{ constructor(props){ super(props); this.state={ //state是私有的 只能由跟组件来改变 value:2, name:"lisa", visible:false, arr:[] } } //钩子函数 componentDidMound(){} //发送请求函数 ge

2021-03-10 19:41:24 105

原创 为什么用vuex

Vuex 和单纯的全局对象有以下两点不同:1.Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。2. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。vuex得四个对象2.getter功能上和适用场景上完全和comput

2021-03-10 18:57:00 135

原创 markdown编辑器的基础使用

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-12-18 11:06:46 67

原创 数组去重

一、for循环嵌套,利用splice去重function newArr(arr){ for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ //如果第一个等于第二个,splice方法删除第二个 arr.splice(j,1); j--; }

2020-10-21 11:45:59 96

原创 vue中computed和watch的区别

computedcomputed也就是计算属性,它可以帮助我们将在模板中的一些稍微复杂的逻辑计算放回到js代码中,方便理解与修改维护。在computed中定义的每一个计算属性,都会被缓存起来,只有当计算属性里面依赖的一个或多个属性变化了,才会重新计算当前计算属性的值watchwatch是属性监听器,一般用来监听属性的变化(也可以用来监听计算属性函数),并做一些逻辑。computed和watch的使用场景并不一样,computed的话是通过几个数据的变化,来影响一个数据,而watch,则是可以一个数

2020-10-20 18:14:13 160

原创 mvvm与mvc模式得区别

MVC模式MVC是应用最广泛的软件架构之一,一般MVC分为:Model(模型),View(视图),Controller(控制器)。 这主要是基于分层的目的,让彼此的职责分开.View一般用过Controller来和Model进行联系。Controller是Model和View的协调者,View和Model不直接联系。基本都是单向联系。Model: 模型(用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法)View: 视图(渲染页面)Controller: 控制器(M和V之间的连接器,用于控制

2020-10-20 11:07:35 131

原创 冒泡排序法

假设数组中有n个数,则需要n轮,而每一轮中比较的次数都要减去已经确定的数值,即第i轮需要比较的次数为:n-i,可以用一个嵌套for循环来实现。for(var i=0;i<arr.length-1;i++){//确定轮数 for(var j=0;j<arr.length-i-1;j++){//确定每次比较的次数 if(arr[j]>arr[j+1]){ //降序 如果升序就< tem = arr[j]; arr[j] = arr[j+1];

2020-10-19 18:04:03 70

原创 es6和node.js导出导入的区别

es6导出导入// 导入import Login from './view/Login.vue' // 导入vue的组件import './css/login.css' // 导入普通静态资源文件// 导出// *** 注意: export default 只能导出一个对象 ***// (1)vue项目开始,导出一个单文件组件export default { data(){   return{ msg: '这是单文件组件的数据

2020-10-18 14:17:59 356

原创 v-model得实现原理

v-model只是一个语法糖,等于:value+@input,真正的实现靠的还是: v-bind:绑定响应式数据,触发 input 事件并传递数据 (核心和重点)<input type="text" v-model="msg" /><input v-bind:value="msg" @input="msg=$event.target.value" />这两行代码得效果是一样得监听原生组件的事件,当获取到原生组件的值后把 值通过调用 $emit(‘input’ ,da

2020-10-17 15:44:47 174

原创 箭头函数和普通函数的区别

1.箭头函数相当于匿名函数,是不能作为构造函数的,不能使用newvar B = ()=>{ value:1;}var b = new B();//Uncaught TypeError: B is not a constructor2.箭头函数不绑定arguments,取而代之用rest参数…解决function A(a){ console.log(arguments); //Arguments [2, callee: ƒ, Symbol(Symbol.iterator): ƒ]

2020-10-14 15:35:35 83

原创 数组和对象进行深拷贝

数组深拷贝方法一:var arr = ["a","b"];var arrCopy=[];for(var item in arr){arrCopy[item] = arr[item];} arrCopy[1]="c";console.log(arr) // => ["a","b"]console.log(arrCopy) // ["a","c"]方法二:var _test = [1,2,3];//原数组var _testCopy = [].concat(_test);

2020-10-13 16:29:31 143

原创 vue中的动态路由

介绍需要把某种模式匹配到的所有路由,全部映射到同一个组件例如:我们有一个user组件,对于所有id不同的用户,都要使用这个组件来渲染,那么我们可以在vue-router的路由路径中使用动态路径参数来达到这个效果。使用html代码:<div id="app"> <router-link to="/user/1">user1</router-link> <router-link to="/user/2">user2&lt

2020-10-13 10:52:39 446

原创 vue中路由组件传参

path-query参数拼接在地址栏上html代码: <div id="app"> <router-link to="user">user</router-link> <router-link to="manager">manager</router-link> <router-view></router-view> </div>js代码:

2020-10-08 18:45:59 112

原创 浮动定位与绝对定位脱离默认文档流的区别

浮动脱离文档流代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><style> *{ margin:0; padding:0; list-style: none; } .wrap{ height: 200px; width: 200px

2020-10-08 17:11:53 161

原创 vue中的mixin的混入规则

当组件和混入对象有同名选项时,这些选项会以恰当的方式合并数据 data数据对象在混入时,会进行合并,发生冲突是,保留组件的数据值为对象 methods computed等在混入时,同名的methods会合并成为一个对象如果对象的键名发生冲突,则保留组件对象的键值对生命周期钩子函数同名的钩子函数会被合并为一个数组,依次都会被调用,但是混入对象的钩子函数先被调用代码:html代码:<div id="app"> {{num}} //99 如果实例中没

2020-10-07 10:08:27 616

原创 在linux系统下安装配置mysql,并且在本地使用navicat连接mysql

一、在普通用户下使用如下命令下载mysql$ sudo apt-get install mysql-server根据提示输入用户名、密码即可(都设置成root方便记忆)安装完成二、配置mysql使用如下命令行,并根据提示输入密码,登录进入mysql$ mysql -uroot -p在mysql中分别执行代码GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'root' with grant option;第二个root是安装

2020-10-06 11:10:22 339

原创 vue中的作用域插槽

一、知识点1.在slot标签中通过v-bind绑定插槽可以使用的属性 <slot :user='user' :list='list'>slot</slot>在template标签中,使用v-slot:default=‘scope’scope:template标签中可以使用的作用域对象<template v-slot:default='scope'> {{scope.user.name}} {{scope.list}}</templa

2020-10-06 10:13:36 367

原创 Vue中父子组件的传值问题

父组件向子组件传值在父组件中使用子组件时,添加自定义属性,属性值为传输的内容<my-footer msg='hello-父组件给子组件的内容'></my-footer>在子组件中,使用props:[]接受父组件中传递的属性props:[“msg”]多个属性使用逗号分隔props声明在和date同级位置在这里插入代码片...

2020-10-05 15:21:23 73

原创 vue的生命周期

一、定义:从vue实例创建到虚拟dom产生再到数据绑定数据监听数据渲染以及销毁的整个过程。二、八个生命周期函数beforeCreate在初始化的时候调用了beforeCreate,完成了vue实例的生命周期相关属性的初始化以及事件的初始化。这个时候还不能直接访问data中的属性及method中的方法。created在初始化完毕以后,完成了vue的数据注入及数据监听操作,该构造的执行意味着vue实例创建完毕,可以进行数据的访问操作beforeMount在created之后,vue会判断实例

2020-10-03 13:51:45 68

原创 jQuery中通过模态框请求数据 判定是添加还是修改

添加按钮绑定事件一、清空模态框的数据$(".modal-input").val("") //清空所有input的数据$("input:radio:checked").prop("checked",false) 清空单选框的数据给修改按钮绑定事件一、获取当前行的数据id=$(event.currentTarget).parents("tr").children().eq(0).text(); //将id声明为全局变量,因为方便给保存按钮绑定事件的时候使用,来辨别是添加还是修改var use

2020-10-02 15:10:07 362

原创 Post请求和Get请求的区别

一、区别1.get在浏览器回退时是无害的,post会再次提交请求;2.get产生的url地址可以被bookmark(加入标签),post不可以;3.get请求只能进行url编码,post可以进行多种编码;4.get请求参数会被完整保留在浏览器历史记录中,post不会(无痕浏览);5. 对参数的数据类型,get只接受ASCII字符,post没有限制;6.Get请求在url中传递的参数长度有限制,post没有;7.Get比post更不安全,因为参数直接暴露在url中,不能用来传递敏感信息;8.G

2020-10-02 11:23:17 171

原创 类数组转数组的几种方式

方式一:Array.prototype.slice.call(类数组)方式二:(es6中使用)Array.from(类数组)方式三:(要转为数组的必须具有iterator接口)扩展运算符不能将json格式的类数组对象转化成数组[...具有iterator的]...

2020-10-02 11:07:43 175

原创 jquery中如何控制表单元素的默认值

一、通过jquey控制单选框或多选框html代码:<input class="form-check-input " type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1"><label class="form-check-label" for="inlineRadio1">男</label><input class="form-check-input " type="

2020-10-01 17:56:33 434

原创 gitee/github的基本使用方法

下载安装下载安装(git downloads) git --version注册github/gitee账号一个本地仓库对应一个远程仓库第一次提交的时候需要设置当前用户git config --global user.name = “xxxxx”git config --global user.email = “xxxxx”个人使用远程仓库 -> github本地仓库 -> 文件夹一、先有远程仓库,再克隆 1、在github/gitee上新建仓库

2020-09-21 11:22:33 167

原创 几种异步函数的请求方式 | generater、async、promise

文章目录generater函数async函数promise函数generater函数一、特点1.generator不是函数(yield只能写在generater中)g()不会立即执行,而是一上来就暂停,并返回一个Iterator对象(返回值为iterator,g1是iterator)每次g1.next()都会打破暂停状态去执行,直到遇到下一个yield或者return遇到yield时,会执行yeild后面的表达式,并返回执行之后的值,然后再次进入暂停状态,此时done: fals

2020-09-21 09:44:22 621

原创 Iterator

文章目录介绍作用next()方法添加迭代器for-of循环介绍遍历器是一种接口,为不同的数据类型提供统一的访问机制,不管什么数据类型只要部署了Iterator接口(才可以使用for of),都可以完成遍历操作。作用为各种数据结构,提供统一的访问接口使得各种数据结构成员能够按照某种次序排列Iterator接口可以用于for-of循环next()方法在遍历器对象Iterator中,有一个next方法,该方法会返回一个对象,对象中由两个属性value、done(当前数据是否遍历完) l

2020-09-19 09:54:58 110

原创 es6中Set和Map的练习题

文章目录将Set集合转换为数组使用Set方法实现数组的去重Map集合转换为数组对象转换为Map集合实现数组和合并并去重将Set集合转换为数组法一:let set = new Set([1,2,3,4])let res = Array.from(set)console.log(res)法二: let set = new Set([1,2,3,4])let res = [] set.forEach(item => { res.push(item) })console.

2020-09-18 15:17:45 564

原创 es6中的箭头函数

文章目录基础语法案例一案例二案例三基础语法function() {} 相当于 ()=>{} let fun1 = function(item){ return item;}相当于let fun2 = item => item;箭头函数可以根据参数个数来省略(),可以根据函数体内部代码的行数来省略{}一个参数时,可以省略()item => {} (右侧使用大括号时,需要手动设置ruturn,如果右侧没有大括号则是return的值

2020-09-18 09:45:37 219

原创 es6中的解构

文章目录概念数组解构对象解构字符串解构数值和布尔解构概念解构的本质属于"模式匹配",只要等号两边的模式相同,右边的值就会被赋予左边的变量。es6按照一定的模式,从数组和对象中提取值,对等号左边的变量进行赋值,叫做解构。如果解构不成功,变量的值等于undefined数组解构一、数组解构等号两边模式按照顺序依次匹配1、等号左边的模式等于右边let [a,b,c] = [1,2,[3,4]]console.log(a,b,c) // 1 2 [ 3, 4 ]或者let [a,b,[c]]

2020-09-18 09:44:41 187

空空如也

空空如也

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

TA关注的人

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