环境配置
- 终端中输入
npm i element-ui -S - 在main.js中全局引入
使用案例
登录表单
<template>
<div class="myform">
<el-form
:model="ruleForm"
status-icon
:rules="rules"
ref="ruleForm"
label-width="100px"
>
<el-form-item label="用户名" prop="username">
<el-input v-model="ruleForm.username"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input
type="password"
v-model="ruleForm.password"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"
>提交</el-button>
<el-button @click="resetForm('ruleForm')">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
name: "LoginView",
data() {
var checkUser = (rule, value, callback) => {
console.log("用户名:", value);
if (value.trim() == "") {
callback(new Error("请输入用户名"));
} else if (!/^[0-9a-zA-Z_\u4e00-\u9fa5]{5,10}$/.test(value)) {
callback(new Error("用户名为5-10位字符或下划线"));
} else {
callback();
}
};
var validatePass = (rule, value, callback) => {
console.log("密码:", value);
if (value.trim() == "") {
callback(new Error("请输入密码"));
} else {
callback();
}
};
return {
ruleForm: {
password: "",
username: "",
},
rules: {
password: [{ validator: validatePass, trigger: "blur" }],
username: [{ validator: checkUser, trigger: "blur" }],
},
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
alert("submit!");
} else {
console.log("error submit!!");
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
},
};
</script>
<style lang="scss">
.myform {
width: 600px;
margin: 50px auto;
}
</style>