ng-disable не работает в переключателе div - PullRequest
0 голосов
/ 13 июня 2018

У меня есть переключатель div здесь, который я бы хотел отключить, если yAxisEditorCtrl.forceCombinedYAxis имеет значение true.

Вот код до моего изменения

  <div class="y-axis-editor">
    <div class="vis-config-option display-size-normal form-group" ng-if=" yAxisEditorCtrl.supportsType()">
      <lk-vis-editor-radio-input label="Scale Type" model="yAxisEditorCtrl.type" options="yAxisEditorCtrl.typeOptions"/>
    </div>
    ...
  </div>

Где определения model и options:

  @type =
    value: null

  @typeOptions = [
    {name: "Linear", value: "linear"}
    {name: "Logarithmic", value: "log"}
  ]

Поэтому я попытался добавить ng-disabled="yAxisEditorCtrl.forceCombinedYAxis" на мой div вот так:

  <div class="y-axis-editor">
    <div class="vis-config-option display-size-normal form-group" ng-if=" yAxisEditorCtrl.supportsType()" ng-disabled="yAxisEditorCtrl.forceCombinedYAxis">
      <lk-vis-editor-radio-input label="Scale Type" model="yAxisEditorCtrl.type" options="yAxisEditorCtrl.typeOptions"/>
    </div>
    ...
  </div>

Однако, даже если ng-disabled равно true (я проверил вывод), он все равно не отключится.

enter image description here

Я даже пытался добавить его в div, где определен переключатель, но все еще не отключен.

Интересно, как я мог заставить это работать?

1 Ответ

0 голосов
/ 13 июня 2018

ng-disabled для входов , кажется, вы случайно поместили его на div.

Вот исправленный код:

  <div class="y-axis-editor">
    <div class="vis-config-option display-size-normal form-group" ng-if="yAxisEditorCtrl.supportsType()">
      <lk-vis-editor-radio-input label="Scale Type" ng-disabled="yAxisEditorCtrl.forceCombinedYAxis" />
    </div>
    ...
  </div>

Какdiv не является интерактивным, его нельзя отключить.Если вы хотите, чтобы он имел определенный внешний вид или стиль, я бы рекомендовал использовать ng-class, чтобы условно добавить «отключенный» появляющийся класс к div

...