请求后更新初始值

时间:2015-12-11 12:28:55

标签: angularjs angular-formly

我在获取请求后更新了模型的initialValues,但它没有更新模型的初始值。如果我使用按钮来呼叫vm.options.updateInitialValue();它可以正常工作。这是一个已知的错误?

jsonService.getJSON().then(function(response){
              vm.model = response.data[0];
              vm.options.updateInitialValue();
        //console.log(vm.options.updateInitialValue); 
      });

示例可在此处找到:https://jsbin.com/doyitaf/4/edit?js,console,output

单击重置按钮,它会将字段重置为空,而不是通过工厂检索的名称。

1 个答案:

答案 0 :(得分:2)

最好的解决方案是等到模型到达之后再编译表单。一个好的方法是在bubblesort

等表单上使用ng-if="vm.model"
<form ng-submit="vm.onSubmit()" name="vm.form" novalidate ng-if="vm.model">
  <formly-form model="vm.model" fields="vm.fields" options="vm.options">
    <button type="submit" class="btn btn-primary submit-button" ng-disabled="vm.form.$invalid">Submit</button>
    <button type="button" class="btn btn-default" ng-click="vm.options.resetModel()">Reset</button>
  </formly-form>
</form>
<div  ng-if="!vm.model">
  Loading...
</div>
祝你好运。