Elementui 中el-form表单中的ref是干嘛用的

时间:2025-03-10 12:42:59

在 Element UI 的 el-form 组件中,ref 是用来获取对该表单组件的引用的属性。通过给 el-form 添加 ref 属性,你可以在 Vue 组件中通过引用来访问和操作这个表单组件,而不需要通过 DOM 查询或其他方式。

使用 ref 属性可以在 Vue 组件的 JavaScript 部分直接访问 el-form 的实例,从而可以进行一系列操作,如表单验证、重置、获取表单数据等。

以下是一个使用 ref 属性的示例:

<template>
  <div>
    <el-form ref="myForm" :model="form" :rules="rules" label-width="120px">
      <el-form-item label="姓名" prop="name">
        <el-input v-model=""></el-input>
      </el-form-item>
      <!-- 更多表单项... -->
      <el-form-item>
        <el-button type="primary" @click="submitForm">提交</el-button>
        <el-button @click="resetForm">重置</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      form: {
        name: '',
        // 其他表单字段...
      },
      rules: {
        name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
        // 其他表单验证规则...
      },
    };
  },
  methods: {
    submitForm() {
      this.$(valid => {
        if (valid) {
          // 执行表单提交操作
        } else {
          ('表单验证失败');
        }
      });
    },
    resetForm() {
      this.$();
    },
  },
};
</script>

在这个例子中,通过在 el-form 上添加 ref="myForm",你可以在 Vue 组件的方法中使用 this.$ 来访问 el-form 的实例。在 submitForm 方法中,使用 this.$ 来触发表单验证,resetForm 方法中使用 this.$ 来重置表单。

总之,ref 属性允许你在 Vue 组件中通过引用直接访问 el-form 组件实例,从而方便地操作表单数据和执行相关操作。