Vue BMS 重置表單

2021-10-01 04:33:00 字數 1612 閱讀 3739

時間描述

2019-11-30

建檔資料管理頁面一般會有新增和修改兩個功能。為了使**簡潔,兩個功能使用的是同乙個對話方塊:

問題在於:當先單擊「編輯」時,表單繫結的資料物件被替換成後台資料;關掉對話方塊,再單擊「新建」時,表單仍舊使用的是之前編輯時產生的資料。因此,需要在關閉對話方塊時,將表單的資料重置為最初狀態。

之前第一次接觸vue的時候,獲悉其有乙個例項字段$options,會在元件例項化時快取原始的data物件。借助物件合併技術可輕鬆實現表單資料重置,如:

object.assign(target, source...)source物件的屬性賦給target物件;

var obj1 =

;var obj2 =

;object.

assign

(obj1, obj2)

;console.

log(obj1)

;// 輸出:

...物件展開運算子,能夠將所有物件展開的屬性合併到乙個新的物件中,相同的屬性以最後展開的那個為準。
var obj1 =

;var obj2 =

;console.

log();

// 合併多個物件到新物件中。輸出:

console.

log(obj1)

;// 不影響原物件。輸出:

var obj3 =

;console.

log(obj3)

;// 拷貝單個物件。輸出:

obj3.a =2;

console.

log(obj1)

;// 對新物件的修改不會影響原物件。輸出:

除此之外,vue自身也提供了介面this.$ref['xx'].resetfields()

在此之前,我還手寫過乙個簡單的、類似jquery.extend()的物件合併函式,出現過合併後無法響應的情況。但當時沒有弄清楚vue的響應式資料,沒有留下筆記。

利用該函式將表單資料物件的初始值重新賦給該物件:

object.assign(this.dialog.form, this.$options.data().dialog.form);
this.dialog.form = ;
這種方式有點麻煩。

在表單上需要填寫refmodel屬性

...

表單元素需要填寫prop屬性

...

呼叫重置函式

this.$refs['moduledlgform'].resetfields();

表單重置reset

最近一直在做各種頁面的 增刪改查 只是在做新增功能的時候,自己一直在使用 reset來清空form表單,原以為這樣子的清空方法是萬無一失的,可惜最終還是在進行 修改 操作完了之後再 新增 的時候,就會報錯,於是自己的解決方法便是在使用新增方法的時候,先把隱藏域傳過來的id刪掉,這樣才不會再程式執行過...

重置表單(vue elementui)

第一種 在methods下的具體方法中直接乙個乙個地將表單繫結的值賦值為空 最笨的方法,只適用於僅幾個繫結值的情況下 第二種 elementui官網的方法 從這裡直接進入官網表單相關位置 model ruleform rules rules ref ruleform label width 100p...

vue 重置表單

vue 中有許多元件的form表單自帶了重置表單的方法,這個重置表單具體有什麼作用呢 以element ui框架為例,form表單中,我們可能會給form表單其中的一項或者某幾項增加校驗規則,但是我們在儲存表單後,再次點開表單,發現校驗規則的提示不會消失,那就是因為我們沒有重置表單的原因啦 其實重置...