加载中...
项目总结
发表于:2022-03-15 | 更新于:2022-11-11 | 分类: 项目

js

JS 判断对象是否为空

// 通过JSON自带的stringify()方法来判断
function isEmptyObj(obj) {
  return JSON.stringify(obj) === '{}'
}
console.log('对象是否为空:', isEmptyObj({}))
// for in 循环判断
function isEmptyObj(obj) {
  for (let item in obj) {
    return true
  }
  return false
}
console.log('对象是否为空:', isEmptyObj({}))
// 使用ES6的Object.keys()方法
function isEmptyObj(obj) {
  return Object.keys(obj).length === 0
}
console.log('对象是否为空:', isEmptyObj({}))
// Object.getOwnPropertyNames()方法
function isEmptyObj(obj) {
  return Object.getOwnPropertyNames(obj).length === 0
}
console.log('对象是否为空:', isEmptyObj({}))
// 将json对象转化为json字符串,再判断该字符串是否为"{}"
var data = {}
var b = JSON.stringify(data) == '{}'
alert(b) //true 为空, false 不为空

js 字符串方法

// 替换
params.sort.replace('_1', '')

模糊查询

<input v-model="searchVal" placeholder="搜索"></input>

const data = [
  {
    name: '小明',
    value: '01'
  },
  {
    name: '小明1',
    value: '02'
  },
  {
    name: '小小',
    value: '03'
  },
  {
    name: '小小红',
    value: '04'
  }
]
const list = data.filter(e => {
  return e.name.indexOf(this.searchVal) !== -1
})
console.log(list)

查找下标

const data = [
  {
    value: '01'
  },
  {
    value: '02'
  }
]
const index = this.data.findIndex(item => item.value === '02')
console.log('index: ', index)

组件

// 赋值回显
@change="$forceUpdate()"
// 赋值回显校验未关闭
this.$set(model绑定的对象, '要赋的值', 声明的值)

el-input 组件

// el-input键盘事件
.native 方法
// el-input赋值回显校验未关闭解决办法
@input="$forceUpdate()"
this.$set(model绑定的对象, '要赋的值', 声明的值)
// 键盘回车事件导致页面刷新的问题
@submit.native.prevent
// 联想输入款
data() {
  return {
    carseriesList: [],//获取的车型车系数据
    searchval: "",//输入框输入的值
    newlist: [
      { value: "张孟真", radio: "a1" },
      { value: "车系名称2", radio: "a2" },
      { value: "杨磊", radio: "a3" },
      { value: "张平", radio: "a4" },
      { value: "邱敏", radio: "a5" },
      { value: "陈强", radio: "a6" }
    ],
    oldlist: [
      { value: "张孟真", radio: "a1" },
      { value: "车系名称2", radio: "a2" },
      { value: "杨磊", radio: "a3" },
      { value: "张平", radio: "a4" },
      { value: "邱敏", radio: "a5" },
      { value: "陈强", radio: "a6" }
    ]
  }
},
const oldlist = []
for (let i = 0; i < this.paperData.length; i++) {
  // 如果字符串中不包含目标字符会返回-1
  if (this.paperData[i].paperCode.indexOf(val) >= 0) {
    oldlist.push(this.paperData[i])
  }
}
return this.oldlist

Git

git pull

// 重新提交即可
git add .
git commit -m 'first'
git pull

git commit

husky > pre-commit hook failed (add –no-verify to bypass)
husky>pre-commit(node v14.16.6)
// 代码不符合相应规则, 就会引发报错

git commit --no-verify -m “XXX

传参

FormData表单传值不能传递list, 需转换Json格式

依赖

node-sassloader 版本过高所导致

/deep/ .el-tabs{
^

CSS 样式

input 样式

// 去除 input 获取焦点边框
outline ;none
// type="number" 去掉上下箭头
::v-deep input::-webkit-outer-spin-button,
::v-deep input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
}
::v-deep input[type='number'] {
  -moz-appearance: textfield !important;
  }

正则校验

value = value.replace(/[^a-zA-Z]/g, '')     // 限制只能输入英文

value = value.replace(/^(0+)|[^\d]+/g,'')   // 限制只能输入正整数

value = value.replace(/[^0-9.]/g, '')       // 限制能输入数字和小数点

value = value.replace(/[^\d]/g, '')         // 限制只能输入数字

value = value.replace(/\.{1,}/g, '.')       // 只保留第一个.清除多余的

value = value.replace(/^\./g, '')           // 验证第一个字符是数字而不是字符

value = value.replace(/^1[3456789]\d{9}$/)  //登录用户名校验

// 只能输入两个小数
value = value.replace(/^(\-)*(\d*)\.(\d\d).*$/, '$1$2.$3')

// 密码必须由6~20位数字和字母的组合
/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,20}$/
上一篇:
防抖和节流
下一篇:
Hexo命令
本文目录
本文目录