如何解决$ref 在 ElementUI 中是什么意思?
我现在正在研究元素 ui,在 $
方法中的 ref
之前有一个符号 submitForm
。符号不是什么意思?
<template>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
<el-form-item label="Activity name" prop="name">
<el-input v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="Activity zone" prop="region">
<el-select v-model="ruleForm.region" placeholder="Activity zone">
<el-option label="Zone one" value="shanghai"></el-option>
<el-option label="Zone two" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Activity time" required>
<el-col :span="11">
<el-form-item prop="date1">
<el-date-picker type="date" placeholder="Pick a date" v-model="ruleForm.date1" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="date2">
<el-time-picker placeholder="Pick a time" v-model="ruleForm.date2" style="width: 100%;"></el-time-picker>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="Instant delivery" prop="delivery">
<el-switch v-model="ruleForm.delivery"></el-switch>
</el-form-item>
<el-form-item label="Activity type" prop="type">
<el-checkBox-group v-model="ruleForm.type">
<el-checkBox label="Online activities" name="type"></el-checkBox>
<el-checkBox label="Promotion activities" name="type"></el-checkBox>
<el-checkBox label="Offline activities" name="type"></el-checkBox>
<el-checkBox label="Simple brand exposure" name="type"></el-checkBox>
</el-checkBox-group>
</el-form-item>
<el-form-item label="Resources" prop="resource">
<el-radio-group v-model="ruleForm.resource">
<el-radio label="Sponsorship"></el-radio>
<el-radio label="Venue"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Activity form" prop="desc">
<el-input type="textarea" v-model="ruleForm.desc"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">Create</el-button>
<el-button @click="resetForm('ruleForm')">Reset</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
ruleForm: {
name: '',region: '',date1: '',date2: '',delivery: false,type: [],resource: '',desc: ''
},rules: {
name: [
{ required: true,message: 'Please input Activity name',trigger: 'blur' },{ min: 3,max: 5,message: 'Length should be 3 to 5',trigger: 'blur' }
],region: [
{ required: true,message: 'Please select Activity zone',trigger: 'change' }
],date1: [
{ type: 'date',required: true,message: 'Please pick a date',date2: [
{ type: 'date',message: 'Please pick a time',type: [
{ type: 'array',message: 'Please select at least one activity type',resource: [
{ required: true,message: 'Please select activity resource',desc: [
{ required: true,message: 'Please input activity form',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>
解决方法
这没什么特别的,只是在键上添加了一个标记,这样很明显它属于 elementUI,并有助于确保它不会与您定义的键发生冲突。 $refs
对象包含 Vue 组件。
最好查看 Vue.js documentation 中的 $refs。看起来每个带有 ref
属性的 DOM 元素都被查看了。接下来是 ref
的值,然后您可以在其上调用函数(方法)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。