javascript - formly 动态选项中的默认值

标签 javascript angularjs angular-formly

我使用 angular js formly 来创建我的网络表单。 我的问题是何时将选择与动态选项一起使用 defaultValue 属性不起作用。但是当将静态数据设置为选项时它是有效的。 当我从远程服务器获取选项时,如何设置默认值(选定的选项)?

{
className: 'col-sm-3',
key: 'cityId',
type: 'select',
templateOptions: {
    placeholder: 'City',
    required: true,
    label: 'City',
    valueProp: 'id',
    labelProp: 'name',
    options: $scope.cityCombo
},

defaultValue: '3209C692-B8D4-4AB0-9F40-008A7C4644F9',

最佳答案

您可以为此字段使用controller选项。

这是根据当前产品的类别动态获取选择选项的所有类别和选择字段的设置值的示例:

  {
    key: 'category',
    type: 'select',
    wrapper: "loading",
    templateOptions: {
      label: 'Category',
      options: [],
      valueProp: 'name',
      labelProp: 'name'
    },
    controller: function($scope, productsFactory, $routeParams) {
      $scope.to.loading = productsFactory.getCategories().then(function(response){
        $scope.to.options = response.data.categories;
        // note, the line above is shorthand for:
        // $scope.options.templateOptions.options = data;
        productsFactory.getProduct($routeParams.id).then(function(response) {
          $scope.model.category = response.data.product.category.name;
        });
        return response;
      });
    }
  }

在你的情况下,它应该是这样的:

{
  className: 'col-sm-3',
  key: 'cityId',
  type: 'select',
  templateOptions: {
    placeholder: 'City',
    required: true,
    label: 'City',
    valueProp: 'id',
    labelProp: 'name',
    options: $scope.cityCombo
  },
  // defaultValue: '',

  controller: function($scope /*inject*/) {
    // some code 
    $scope.model.cityId = cityId; // dynamically set cityId
    // some code 
    };
  }
}

关于javascript - formly 动态选项中的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35181628/

相关文章:

javascript - 动态按钮输出React.js

javascript - 轮播下一个和上一个按钮不起作用

javascript - 解析中的异步调用失败

angularjs - 模型绑定(bind) addonLeft.text Angular 正式

angularjs - 使用 angular-formly 编辑数组元素

javascript - 视频元素防止右键单击代码不适用于动态元素。

javascript - 如何阻止javascript悬停激活所有其他悬停?

javascript - AngularJS $广播并隔离范围

javascript - 如何从具有数组的json绑定(bind)网格

angularjs - 具有复杂对象的 Angular Formly 模型