Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Element resetFields() does not take effect

I used Vue3 with Element Plus to created Form.But The form's resetFields() does not take effect. the form cant auto refresh.


child-component(Edit.vue)

<template>
    <el-dialog title="edit" v-model="modelValue">
      <el-form :model="form" ref="formDate">
      ...
      </el-form>
    </el-dialog>
</template>

parent-component

<template>

<Edit
  v-model:form="form"
  v-model="dialogFormVisible"
  ref="editDialog"
></Edit>

</template>
...
export default {
  components: {
    Edit,
  },
  setup() {
      const state = reactive({
        dialogFormVisible: false,
      })

      const editDialog = ref(null);

      const initForm = () => {
        state.dialogFormVisible = true;

        nextTick(() => {
        console.log(editDialog.value.formDate);
        editDialog.value.formDate.resetFields();
      });

      return {
        ...toRefs(state),
        editDialog,
        initForm,
      };
  }

editDialog.value.formDate was not undefined :enter image description here

But editDialog.value.formDate.resetFields() does not take effect,and it was undefined .

like image 399
Zssaer Avatar asked Sep 04 '26 09:09

Zssaer


1 Answers

Try to change

editDialog.value.formDate.resetFields()

to

editDialog.value.formDate.value.resetFields()
like image 84
Yeachan Avatar answered Sep 06 '26 22:09

Yeachan



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!