js相关知识

1密码与确认密码

data(){
	var validatePass = (rule, value, callback) => {
		if (value === '') {
			callback(new Error('请输入密码'))
		} else {
		if (this.addForm.confirmPwd !== '') {
			this.$refs.addForm.validateField('confirmPwd')
		}
		callback()
		}
	}
	var validatePass2 = (rule, value, callback) => {
		if (value === '') {
			callback(new Error('请再次输入密码'))
		} else if (value !== this.addForm.password) {
			callback(new Error('两次输入密码不一致!'))
		} else {
			callback()
		}
	}
	retrun{
	}
}
addFormRules{
	password: [
		{ required: true, message: '请输入密码', trigger: 'blur' },
		{ min: 6, max: 16, message: '长度在 6 到 16 个字符', trigger: 'blur' },
		{ validator: validatePass, trigger: 'blur' }
	],
	confirmPwd: [
		{ required: true, message: '请确认密码', trigger: 'blur' },
		{ validator: validatePass2, trigger: 'blur', required: true }
	],
}

树形结构处理数据

const list = res.data
this.cateList = []
for (let i = 0; i < list.length; i++) {
	const children = []
	if (list[i].hosts != null && list[i].hosts.length > 0) {
		for (let j = 0; j < list[i].hosts.length; j++) {
			children.push(
				{ 
					label: list[i].hosts[j].name, 
					value: list[i].hosts[j].hostid
				}
			)
		}
	}
	this.cateList.push(
		{ label: list[i].name, value: list[i].groupid, children: children }
	)
}



将数组的key值改为想要的key值

changeKey(arr, key) {
	const newArr = []
	arr.forEach((item, index) => {
		const newObj = {}
		for (let i = 0; i < key.length; i++) {
		newObj[key[i]] = item[Object.keys(item)[i]]
		}
		newArr.push(newObj)
	})
	return newArr
},

2删除确认框(确认事件 取消事件)

// 批量删除
deleteUsers() {
	this.$confirm('是否删除所有主机该用户的配置信息?', '提示', {
		confirmButtonText: '是',
		cancelButtonText: '否',
		type: 'warning',
		distinguishCancelAndClose: true
		}).then(() => {
			// 执行是操作
			const data = this.deleteList
			const query = { configure: 1 }
			deleteUser(data, query).then((res) => {
				if (res.code === 200) {
					this.$message.success('删除成功')
				this.getUserList()
				} else {
					this.$message.error(res.message)
				}
			})
		}).catch(action => {
		// 判断是 cancel (自定义的取消) 还是 close (关闭弹窗)
		if (action === 'cancel') {
			const data = this.deleteList
			const query = { configure: 0 }
			deleteUser(data, query).then((res) => {
				if (res.code === 200) {
					this.$message.success('删除成功')
					this.getUserList()
				} else {
					this.$message.error(res.message)
				}
			})
		}
	})
},

3下载安装包

//a标签 href 放路径
<div class="el-icon-download">a :href="ahref"点击下载火狐浏览器</a></div>
//计算属性 获取动态地址
computed: {
	ahref() {
		let base = ''
		if (process.env.VUE_APP_HOST_API) {
			base = process.env.VUE_APP_HOST_API
		}
		return base + '/imge/Firefox-setup-win64_87.0.0.7747.exe'
	}
},

4定时器

mounted() {
	this.getData()
	const _this = this
	this.upData = setInterval(() => {
		_this.getData()
	}, parseInt(30 * 1000))
},
beforeDestroy() {
	if (this.upData) {
		clearInterval(this.upData)
	}
},

5表单形式传递post

const param = new FormData()
param.append('docinfoId', this.showForm.doctype)
param.append('uploadFile', file.file)

6如何判断字符串的值是否含有反斜杠\

'字符串'.indexOf('\\')
返回-1表示没有
返回大于等于0表示有. 
这是楼上的,我补充一点。
index.Of('\\')  这个方法的括号中,由于 “\”是一个特殊的字符,所以在使用时,要进行转义。

7删除数组中指定元素

var arr = [``"张三"``,``"李四"``,``"王五"``,``"赵六"``];
// 删除王五
arr.splice(arr.indexOf(``"王五"``),1);

8数组去重

unique(arr) {
	const res = new Map()
	return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
}

9盗链问题 外站链接403能下载 但是不能预览

//在vue的index.html <head>中加入 
<meta name="referrer" content="no-referrer" />

字符串 替换

replace(//g, ';')

字符串按照多个字符截串

strData.split(/[;;]/) 

获取obj的键值

 Object.getOwnPropertyNames(obj);

一元运算符 + 变量 类型转换

+size 是将string类型的size 转换成number类型的

Operator + 可用于将变量转换为数字:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值