Как добавить динамический класс для поля 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.

Другие вопросы по тегам