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}$/