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 + 可用于将变量转换为数字: