Vue3 中重置表單的優(yōu)雅寫法
基本上無害
發(fā)布于 云南 2024-11-28 · 1.2w瀏覽

前端開發(fā)中經常需要寫的一個邏輯:在提交后將表單數據重置為默認值。

原本我使用一個很笨的寫法:

預先復制一份對象(這里甚至不太嚴謹,沒有做深拷貝),然后在需要重置的時候將其重新賦值給源對象。

這就導致得在每個頁面無休無止地重復寫 dataCopy 和 reset。

直到最近,我看到了 如何重置vue組件的狀態(tài)——遠方os,大佬的寫法非常優(yōu)雅。

因為這個邏輯經常要復用,于是選擇封裝進了 Vue3 的組合式函數(composables)中。

 

使用 useResettableRef,傳入兩個參數:

value:需要可重置化的對象;

clone:克隆對象的回調函數(這里我默認用了自己的 defaultClone,也可以更嚴謹使用例如 Lodash 的 _cloneDeep

 

然后返回一個 ref 對象和將其重置為默認值的 reset 方法。

代碼很簡單,但我就是想不到。有時候限制代碼水平的不是思維邏輯,而是對抽象的敏感程度。

基本上無害
火星宛如雪花,從42號有軌電車車頂的弓形集電器上飛落而下。
瀏覽 1.2w
相關推薦
最新評論
贊過的人
評論加載中...

暫無評論,快來評論吧!