动态选项中的默认值
formly Default value in dynamic options
我通常使用角度js来创建我的Web表单。我的问题是当使用带有动态选项的选择时,默认值属性不起作用。但是当将静态数据设置为选项时,它是有效的。当我从远程服务器获取选项时,如何在 formly 中设置默认值(选定的选项)?
{
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
};
}
}
相关文章:
- Angularjs-设置不带ng选项的select的默认值
- javascript中选项对象的默认值
- HTML选择:将默认值设置为给定值,而不是从选项列表中选择
- 聚合物:如何为具有嵌套特性的图纸选项卡设置默认值
- 具有动态默认值的 ng 选项
- 接受选项对象作为参数的简洁方法,回退到省略属性的默认值
- 在 Angular JS 中为 ng 选项选择默认值
- 避免筛选异步 ng 选项默认值
- 动态选项中的默认值
- 无法在 Twitter 引导切换选项卡中设置默认值
- 为投递箱选项创建不同的默认值
- 能.控件.默认值和选项合并
- 使用 jQuery 设置选项值以外的默认值
- KO选项绑定在页面重新加载时将值保存为默认值
- 具有默认值的选项的 JavaScript 设计模式
- 如何在ES6中使用所有默认值来销毁选项参数
- 当通过AJAX绑定选项时,是否可以将select元素的默认值传递给Knockout
- Angular Js:您可以将select的默认值与使用'track by'在ng选项中
- 如何使用Knockout JS数组映射根据输入条件使选择选项绑定默认值
- 如何在ng选项中设置默认值