Как добавить динамический класс для поля formly на основе свойства контроллера?
Мне нужно добавить условный класс в поле формы на основе свойства элемента управления.
Например: у меня в контроллере
$scope.isIssueFixed = true;
и мой формальный объект -
$ scope.formly = { имя_класса: 'col-xs-6', ключ: "Имя", тип: "вход", templateOptions: { ярлык: "Общее имя устройства" }
Теперь, как мы можем добавить класс условия к указанному выше полю формы, $scope.isIssueFixed?'Ok':'No'; в форме объекта?
3 ответа
Я решил проблему, используя Wrappers в угловой форме. Вот код, который мне нужен. Может быть, это кому-то помогает.
добавьте код настройки в конфигурацию:
formlyConfigProvider.setWrapper ({имя: 'horizontalBootstrapLabel', шаблон: [ <label for="{{::id}}" class="col-sm-2 control-label" >
'{{to.label}} {{to.required ? "*" : ""}}
</label>
<div class="col-sm-8" ng-class="{'bbb':model.heightlight}">
<formly-transclude></formly-transclude>
</div>
].присоединиться(' ')
});
$scope.$watch('isIssueFixed', function() {
var classAdded = $scope.isIssueFixed ? "ok" , "No"; $scope.formly = {
className: 'col-xs-6 ' + classAdded ,
key: 'products.device[0].deviceCommonName',
type: 'input',
templateOptions: {
label: 'Common Device Name'
}
});
Вы можете использовать директиву ng-class angularjs. См. https://docs.angularjs.org/api/ng/directive/ngClass.