2016-02-07 79 views
1

我有一個NG重複內的角Formly表單中重置Formly形式。除了重置按鈕,我已經按照預期工作了。出於某種原因,單擊任何重置按鈕總是會重置最後一個窗體,而不是它應該的窗體。提交和updateInitialValue()似乎工作正常。的NG-重複

<div ng-repeat="model in vm.models"> 

這裏是重複裏面的形式聲明:

<formly-form model="model" fields="vm.fields" options="vm.options[$index]" form="vm.form[$index]"> 

這裏是復位鍵。

<button type="button" class="btn btn-default" ng-click="vm.options[$index].resetModel()">Reset</button> 

這是一個小提琴的整個事情。

http://jsbin.com/feguvulumo/edit?html,js,output

預先感謝任何幫助,您可以給!

回答

1

我從上Formly小膠質聊天@kentcdodds一些幫助想通了這一點(https://gitter.im/formly-js/angular-formly

他建議,問題是,重複的形式共享相同的領域配置。

爲了解決這個問題,我實現了一個被調用由NG-重複內的NG-init函數。它在循環時構建一組字段對象。

function addFields() { 
    vm.fields.push(new getFields()); 
} 

我再變字段屬性上<formly-form>像這樣

<formly-form model="model" fields="vm.fields[$index]" options="vm.options[$index]" form="vm.form[$index]"> 

完整的解決方案 http://jsbin.com/yanopeyija/1/edit?html,js,output

0

我也是新的角度,但一般如果我們改變按鈕類型復位這可以實現:

<button type="reset" >