自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

南城趣味的博客

业精于勤荒于嬉,行成于思毁于随!!!

  • 博客(44)
  • 收藏
  • 关注

原创 Koa+TypeScript+mysql+sequelize

使用koa、typescript、mysql、sequelize进行后台API开发使用Koa与typescript、mysql、sequelize组合进行服务端api开发,主要案例有:表生成,图片上传,热启动,excel表数据导入与导出文章目录使用koa、typescript、mysql、sequelize进行后台API开发使用Koa与typescript、mysql、sequelize组合进行服务端api开发,主要案例有:表生成,图片上传,热启动,excel表数据导入与导出第一步 配置热启动项目1.配

2021-04-20 12:17:41 986 1

原创 React+Antd通过Tree组件实现可编辑可拖拽节点树

import React, { useState, useEffect } from 'react';import { Tree } from 'antd';import { PlusOutlined, EditOutlined, MinusOutlined, CheckOutlined, DeleteOutlined,} from '@ant-design/icons';import styles from './index.less';const { TreeNode }.

2021-02-18 13:33:25 5944 28

原创 AntDesign React实现树形结构弹窗修改

AntDesign React实现树形结构弹窗修改只实现弹窗修改,其他功能可扩展使用的树形结构数据companys: [ { id: '6ed96bc6dec04dfbb9105a2675819e1e', name: '中国A集团有限公司', creditCode: '911100001000128855', fundedRatio: 100, hasChildren: true, childrenCount: 16,.

2021-02-18 09:22:10 578 3

原创 在koa中使用sequelize进行数据库操作

Sequelize介绍:​ Sequelize是一个基于promise的node.js的ORM(Object Relatial Module)框架,通过该框架我们可以在进行后端API开发时,不再通过原始的手动写入数据库操作语句,而是可以通过对象操作的方式进行数据库相关操作.目前Sequelize支持的数据库有Postgres、Mysql、MariaDB、SQLite、Microsoft SQL Server.它具有强大的事务支持,关联关系,预读和延迟加载,读取复制等功能.注意:** 在我们使用se

2021-01-18 09:32:36 523 2

原创 Vue2.X+TypeScript开发模式,使用Component、Model、Prop、Emit、Watch等构造器进行项目开发

在Vue+JavaScript模式中,我们在组件中使用component、watch、model、emit属性时,都是直接使用的.然而在Vue+TypeScript开发模式中.我们需要通过引入相应的构造器,在构造器中进行声明使用数据.// 在Vue+TypeScript开发模式中引入相应的构造器进行界面开发<script lang="ts"> import { Component,Vue,Watch,Prop,Model,Emit} from 'vue=property-decorator

2020-12-16 19:12:58 1319

原创 Ant Design React使用Tree组件时,如何修改最后一个子项的小图标.

react开发使用的Ant Design React开发框架,需求需要构建树形图.所以使用Tree组件.在使用Tree组件时,如果我们设置Tree组件showLine属性,则最后一个子项一定会出现一个小文件的图标,这往往不是我们需要的.查看开发文档.官方的回答是:在 showLine 时,如何隐藏子节点图标?文件图标通过 switcherIcon 来实现,如果不需要你可以覆盖对应的样式跳转.官方给出的这句解释,我理解上是使用css样式覆盖???或者通过在Tree组件上使用switchIcon属性进行

2020-12-10 18:08:07 2194 2

原创 递归实现获取数字型数组中最大的前三位数字

let list = [32, 35, 123, 546, 2, 54,35]; // 定义数组list list=Array.from(new Set(list)); // 数组去重操作 let nums = []; const getMax = oldArr => { if (nums.length < 3) { let max = Math.max(...oldArr); // 获取传入数组中的最大数 ...

2020-11-16 19:15:42 521

原创 Vuex初步了解

1.什么是Vuex?Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex也集成到Vue的官方调试工具devtools extension,提供了诸如零配置的time-travel调试、状态快照导入导出等高级调试功能。使用Vuex管理实现的场景:用户的登录状态、用户名称、头像、地理位置、商品收藏、购物车的物品…2.安装使用Vuex npm install vuex --sav

2020-11-12 19:36:26 112

原创 NodeJs根据图片地址下载图片的部分方法

根据在网上获取到的一些图片的地址.然后想要根据这些图片地址将图片保存到本地.方法一:简单实现图片下载(只适用于少量图片下载)request的pipe方法可以很方便的获取图片的文件流,然后我们在通关fs模块进行流的写入操作.使用到的模块1.fs模块2.request模块const fs=require('fs');const request=require('request');// 实现代码const imgSrc=[{ // 图片地址 src: 'http://kr

2020-11-09 15:41:08 1469

原创 Flex弹性布局了解

Flex是Flexible box的缩写,意为弹性布局,用来为盒模型提供最大的灵活性.任何一个容器都可以指定为Flex布局.通过 display:flex样式声明为flex布局的元素成为容器,而容器中的所有初级子代元素称为项目传统布局优缺点:兼容性好、布局繁琐、不能很好的兼顾移动端. 存在局限性flex弹性布局优缺点:操作方便,布局简单,能够很好的兼顾移动端.PC端浏览器兼容情况较差、IE支持版本较低,需要做兼容性处理.建议:做项目开发时,若是需要考虑各大浏览器兼容的PC端项目,建

2020-11-03 19:42:37 242

原创 this指向了解

this指向解读:1.函数外面的this,即全局作用域的this指向window。2.函数里面的this总是指向直接调用者。如果没有直接调用者,隐含的调用者是window。3.使用new调用一个函数,这个函数即为构造函数。构造函数里面的this是和实例对象沟通的桥梁,它指向实例对象。4.箭头函数里面的this在它申明时确定,跟他当前作用域的this一样。5.DOM事件回调里面,this指向绑定事件的对象(currentTarget),而不是触发事件的对象(target)。当然这两个可以是一样的。如

2020-10-29 17:51:43 128

原创 TypeScript数据类型了解

引言:typescript中为了使编写的代码更加规范,更有利于维护,增加了类型校验,在typescript中主要给我们设定了一下数据类型:布尔类型(boolean)、数字类型(number)、字符串类型(string)、数组类型(array)、元组类型(tuple)、枚举类型(enum)、任意类型(any)、null和undefined类型、void类型、never类型…在typescript中,规定在声明一个变量的同时,必须规定该变量的类型.let 变量名:数据类型=值;1.布尔类型(boole

2020-10-27 14:50:46 328

原创 箭头函数简单了解

在ES6中,为函数的实现以及其方法做了许多修改与添加.1.函数参数默认值在ES6中,我们可以在声明函数时,直接为其参数设置一个默认值.带有默认值的函数参数​ function 函数名(参数名=默认值){​ … 函数执行代码块​ }注意:当为函数参数声明默认值后,不能再在函数体内通过let或const声明与参数名相同的变量.当指定了函数参数默认值后,函数调用的length方法将失去真实性(出现错误,只返回没有指定默认值的参数个数.)function getSum(a,b=12)

2020-10-26 09:48:06 124

原创 Proxy代理简单了解

Proxy用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种’元编程’,即对编程语言进行编程.Proxy可以理解成,在目标对象之前假设一层拦截,外界对该对象的访问,都必须先通过这层拦截,一次提供了一种机制,可以对外界的访问进行过滤和改写.Proxy这个词的原意是代理,用在这里表示由它来’代理’某些操作,可以译为’代理器’.Proxy对象的常用解构组成:let proxy=new Proxy(target,handler);>>target:表示需要被代理的目标对象

2020-10-26 09:45:51 1196

原创 Promise简单操作

Promise含义Promise是ES6新增的一种异步编程的解决方案.所谓Promise,简单的说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上来讲,Promise是一个对象,我们可通过它获取异步操作的消息.Promise提供各种方便进行异步操作处理的统一的API.Promise的特点:1.对象的状态不受外界影响Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)、rejected(已失败).这三种状态只受

2020-10-26 09:43:36 202

转载 JavaScript事件对象(event)

event(事件对象)详解1.事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 什么时候会产生Event 对象呢? 例如: 当用户单击某个元素的时候,我们给这个元素注册的事件就会触发,该事件的本质就是一个函数,而该函数的形参接收一个event对象. 事件通常与函数结合使用,函数不会在事件发生...

2020-10-21 13:39:19 122

原创 02_model模型操作数据库表(sequelize使用)

1.模型了解介绍:​ 模型是Sequelize的本质,模型是代表数据库中表的抽象,是我们操作数据库表的重要实质.在sequelize中,它是一个model的扩展类.该模型告诉sequelize有关它代表的实体的几件事,列如,数据库中表的名称以及它具有的字段及其数据类型(即,通过模型我们可以创建在数据库中创建相应的表及其所拥有的字段以及字段类型.)Sequelize中的模型有一个名称,此名称不必与它在数据库中表示的表的名称相同,通常,模型具有单数名称(例如: User ),而表具有复数名称(例如:

2020-10-16 16:01:03 892

原创 01_创建与使用Sequelize(sequelize使用)

1.创建Sequelize介绍:​ Sequelize是一个基于promise的node.js的ORM(Object Relatial Module)框架,通过该框架我们可以在进行后端API开发时,不再通过原始的手动写入数据库操作语句,而是可以通过对象操作的方式进行数据库相关操作.目前Sequelize支持的数据库有Postgres、Mysql、MariaDB、SQLite、Microsoft SQL Server.它具有强大的事务支持,关联关系,预读和延迟加载,读取复制等功能.注意:** 在我们

2020-10-16 11:43:27 493

原创 正则表达式校验使用

正则表达式使用正则表达式可以用于数据校验/*是否带有小数*/function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/; return objRegExp.test(strValue); } /*校验是否中文名称组成 */function ischina(str) { var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/ return reg.t

2020-10-12 13:38:35 425

原创 原生javascript实现鼠标拖拽

<div id="app"> <div class="box"></div> safsafa </div><style> * { padding: 0; margin: 0; } .box { width: 100px; height: 100px; position: absolute;

2020-10-12 13:38:17 111

原创 Vue事件修饰符笔记

事件修饰符 (1) .stop 阻止事件冒泡(事件从下向上冒泡似的触发) 语法: v-on:事件类型.stop="事件执行函数名" 或 @事件类型.stop="事件发生函数名" (2) .prevent 阻止默认事件 语法: v-on:事件类型.prevent="事件执行函数名" 或 @事件类型.prevent="事件发生函数名" @contextmenu.

2020-10-12 11:30:13 126

原创 Jquery入门小知识

1.jquery的使用使用jquery需要引入jquery文件 <script src="...文件路径"></script> <script> ...jquery格式的代码 </script>2.jquery的入口函数以及基础语法基础语法: $(选择器).执行的动作(动作执行的方法) 例如: $(document).ready(function(){ ...需要执行的jquery代码

2020-10-12 11:26:41 257

原创 JavaScript数组高级语法及其使用

1.map方法为数组中的每一个元素依次执行回调函数,调用该方法会返回一个新的数组(即不会影响改变原始数组内容),新数组中的元素为原始数组元素调用函数经过处理后的值 语法: array.map(function(curValue,index,arr){ ...执行内容 },thisValue) curValue:必须参数,当前数组元素的值 index :可选参数,当前数组元素的下标值 arr :可选参数,调用map方法的数组对

2020-10-12 11:09:40 235

原创 如何判断一个数组对象中是否存在某个对象

通过ES6中的数组操作方法some进行判断.const flag=数组名.some((item)=>{ if(item.指定属性===需要判断的属性)return true;})// 通过返回的布尔类型进行相应的处理if(flag){ // 如果存在该对象 ....}else{ // 不存在该对象 ....}例如:const flag = Enums.card_list.some((item) => { if (item.title === values.t

2020-10-12 10:58:25 2776

原创 在Vue项目中使用vue自带的过渡组件transition.

在Vue项目中使用vue自带的过度组件transition.Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡使用需求:条件渲染 (使用 v-if)条件展示 (使用 v-show)动态组件组件根节点在进入/离开的过渡中,会有 6 个 class 切换。在我们使用组件transition时.需要配合css样式进行设置使用.v-enter-from:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。v-enter

2020-10-10 11:02:38 1381

原创 递归实现字符串指定字符替换

根据指定被替换的字符,在指定字符串中进行查询替换为新的字符.function getStr(oldStr,value,newValue){ if(oldStr.includes(value)===true){ // 判断指定字符串中是否存在指定字符 let newStr=oldStr.replace(value,newValue); // 进行字符替换 return getStr(newStr,value,newValue); // 递归使用,调用自身,进行多次判断使用 } return o

2020-09-30 09:43:58 652

原创 Koa开发了解

1.简单架设http服务使用koa开发服务,只需要少许代码,就可以假设一个简易服务器// 引入模块const koa=require('koa');// 创建koa实例const app=new koa();// 服务器监听端口app.listen(3000)/* 只需要三行代码,我们就可以构建一个简易的服务器. 打开浏览器,访问 http://127.0.0.1:3000 。你会看到页面显示"Not Found",表示没有发现任何内容。当然,这个服务器目前来说是什么也做不了的.*/

2020-09-21 19:19:48 375

原创 Vue组件间的通信了解

有时候我们在操作组件实现功能时,存在数据之间的传递,这就是组件间的通信组件间的数据传递1.组件间的通信----父传子父传子的通信是通过父组件传递数据,然后子组件通过自身属性prop来进行接收数据,做相应的处理实现的.方法:通过子组件的props属性进行传递.props属性设置数据内容变量的定义方式有两种方式:方式一:​ 字符串数组类型,数组中的字符串就是用于接收父组件所传数据的自定义变量名称(这种方式不常用)​ props:[‘自定义存储变量名1’,‘自定义存储

2020-09-21 19:18:17 158

原创 Vue组件插槽使用新增

组件的插槽是为了让我们封装的组件更加具有扩展性.让使用者可以决定组件内部可以展示那些内容.1.普通插槽(匿名插槽)​ 在默认情况下,我们在使用组件时,若是在组件中嵌套入其他内容,则是无效的,并不会显示出来.若想使得我们在组件中嵌套入的内容能够正常生效显示,这就需要使用组件插槽功能​ 默认情况下:​ <组件名>​ …嵌套的文字/元素/变量/表达式等​ </组件名>​ 以上嵌套在默认情况下只会显示组件功能模板中的内容,嵌套在组件间的内容都不会起作用(不显示)

2020-09-21 19:16:53 301

原创 NodeJs文件操作fs模块简单创建目录

// 引入核心模块fsconst fs = require("fs");const fileUrl = "../utils/newFile";// 创建指定目录function mkDir(path) { fs.mkdir(path, (err) => { if (err) console.log(err); console.log("目录创建成功"); });}// 删除指定文件function rmFile(path) { fs.unlink(pa.

2020-09-10 17:47:21 1334

原创 React+Ant Design使用Tree树形组件

实现简单拖拽与限制树形数据平级之间不能嵌套(只能排序),不同父级之间可以拖拽嵌套.import React, { useState, useEffect } from 'react';import { Tree, Spin } from 'antd';// import { EditOutlined, PlusOutlined, DeleteOutlined } from '@ant-design/icons';import { queryDepartments, submitDepartmen

2020-09-08 18:27:44 3010 1

转载 javascript实现数字千位逗号分隔(xxx,xxxx)

通过正则表达式进行转换function sep2(n) { let str = n.toString() str.indexOf('.') < 0 ? str += '.' : void 0 return str.replace(/(\d)(?=(\d{3})+\.)/g, '$1,').replace(/\.$/, '')}

2020-09-03 15:13:20 205

原创 React Hook特性中如何更新数组类型值

React中的Hook特性如果使用过的小伙伴都应该知道这对于我们进行React开发是十分有用的(不知道的小伙伴可以去官网看看https://react.docschina.org/docs/hooks-intro.html).在我目前的大多数开发中,使用useState最多的动态赋值类型就是number、string、object.但是难免我们有时候也需要进行数组的动态赋值,如何是一个空数组还好,我们直接进行覆盖就可以了,但是如果我们数组中原本就有数据,然后我们进行数组更新时还想保留原数据,那么我们应该

2020-08-05 16:18:56 3323

原创 Git了解笔记

Git常用操作命令1.创建一个本地仓库(新建一个文件夹,进入文件夹)git init2.若是想拉取github上的项目到本地git clone github上项目的地址3.将github上项目更新的内容同步到本地仓库git pull3.5查看项目文件状态(是否有修改的文件)git status4.将项目中修改的文件提交到暂存区域git add 文件名.后缀名 //每次提交指定文件git add . //将所有修改的文件都提交到暂存区域5.将暂

2020-07-16 10:10:51 91

原创 Axios简单笔记

Axios的功能特点 1.在浏览器中发送XMLHttpRequests请求 2.在node.js中发送http请求 3.支持Promise API 4.拦截请求和响应 5.转换请求和响应数据 6.其他...Axios框架的安装使用 在终端中,通过命令安装 npm install axios --save 在main.js中导入 import axios from 'axios'Axios的请求方式 1.axi...

2020-06-05 10:23:54 224

原创 Express简单笔记

1.安装下载 npm init //初始化创建一个 package.json 文件 npm install express --save2.第一个express应用程序 1.引入依赖包 const express=require('express'); 2.创建服务器应用程序 const app=express(); //类似于http.createServer(); 3.公开指定目录 //只要这样做了,我们就可以直接通过 /public/xx 的...

2020-06-05 10:20:41 164

原创 Node.js简单笔记

1.什么是Node.js Node.js是一个JavaScript运行时环境,用来解析和执行JavaScript.在Node.js中的JavaScript没有BOM和DOM,只有EcmaScript。它为JavaScript提供了一些服务器级别的操作API(文件读写、网络服务构建、网络通信、Http服务器、...) Node.js的特性: 1.事件驱动 2.非阻塞IO模型(异步通信) 3.轻量和高效2.Node.js能做什么 1.Web服务器后台 2.命令行工具...

2020-06-05 10:19:32 122

原创 vueCli笔记

1.什么是Cli?什么是VueCli? Cli是Command-Line Interface,即命令行界面,俗称脚手架。 Vue Cli是官方发布Vue.js项目的脚手架,通过它我们可以快速搭建Vue开发环境以及对应的webpack配置.如果想要使用VueCli,就需要安装有NodeJs。因为VueCli依赖于NodeJs.2.VueCli脚手架的安装 安装新版本的VueCli脚手架 npm install -g @vue/cli //安装脚手架3...

2020-06-05 10:17:57 195

原创 Vue了解笔记

1.什么是Vue? Vue是一个渐进式框架,这意味着我们可以将Vue作为应用的一部分嵌入其中,带来更丰富的交互体验. Vue具有很多特点:1.解耦视图和数据;2.可复用的组件;3.前端的路由技术;4.能够进行状态管理;5.虚拟DOM2.使用Vue 1.引入Vue.js文件 2.创建Vue实例对象,将一个具有id/class属性的容器挂载到Vue实例上. const app=new Vue({ el:'#id值(或.class值)',//...

2020-06-05 10:15:41 202

原创 webpack了解笔记

了解知识: 一般项目中存在两个必要文件夹 src文件夹和dist文件夹,src文件夹用于存放开发的代码,dist文件夹用于存放我们打包好后的文件1.什么是webpack? webpack是一个前端模块化打包工具,能够帮助我们处理模块间的各种复杂关系,它在打包的过程中可以对资源进行处理,比如压缩图片,将scss转换为css,将es6语法转化为es5语法,将typescript转化为javascript等.2.webpack和grunt/gulp有什么不同 grunt/...

2020-06-05 10:07:39 133

空空如也

空空如也

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

TA关注的人

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