我在获取请求后更新了模型的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
单击重置按钮,它会将字段重置为空,而不是通过工厂检索的名称。
答案 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>
祝你好运。