vue 中element-ui的表單重置


問題來源:

點擊按鈕 打開 dialog時需要重置嵌入的表單,

<el-dialog
      title="課程信息修改"
      :visible="courseconfirm"
      :modal-append-to-body="false"
      :close-on-click-modal="false"
      @open="resetForm('course')"     //在此使用用open回調,觸發重置方法
      @close="courseconfirm=false"
      width="50%"
    >
1 resetForm(formName) { 2         this.$refs[formName].resetFields(); 3     },

此時,由於Form 表單嵌入在dialog里還沒加載完,調用resetForm() 方法時報錯:Cannot read property 'resetFields' of undefined"

解決方案:

1 resetForm(formName) { 2       this.$nextTick(() => { 3         this.$refs[formName].resetFields(); 4  }); 5     }

this.$nextTick()將回調延遲到下次 DOM 更新循環之后執行。在修改數據之后立即使用它,然后等待 DOM 更新

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM