Angular ui-grid, добавьте собственное сообщение в editableCellTemplate

Мне нужно добавить пользовательское сообщение об ошибке в ячейку, когда она находится в редактируемом режиме, в основном мне просто нужно добавить сообщение в редактируемый HTML-шаблон, как показано ниже.

<a href=\'#\' data-toggle=\'tooltip\' data-placement=\'top\' title=\'error!\' ng-show=\'!inputForm.$valid\'>errMsg - {{customMsg}}</a>

я только что привязал customMsg к глобальной области только для целей тестирования, но, похоже, он все еще не появляется. образец plunker добавлен здесь, было бы здорово, если бы вы могли сказать мне, что я делаю неправильно здесь

Спасибо


person Dark99    schedule 04.10.2016    source источник


Ответы (1)


Возможно, вы захотите взглянуть на этот ответ

https://stackoverflow.com/a/28127498/1585304

Когда вы работаете с сеткой пользовательского интерфейса, вы фактически работаете в изолированной области.

Это означает, что вы не можете получить доступ к родительской области, просто введя имя переменной в свой html.

Чтобы получить доступ к вашей переменной customMsg, вам нужно обратиться к родительской области с помощью grid.appScope.

Ваше определение столбца должно выглядеть примерно так.

 {
      field: 'company',
      displayName: 'Company',
      enableColumnMenu: false,
      editableCellTemplate: "<div><form name=\"inputForm\">
      <input type=\"INPUT_TYPE\" ng-class=\"'colt' + col.uid\" 
       ui-grid-editor ng-model=\"MODEL_COL_FIELD\"  minlength=3 
       maxlength=10 required><a href=\'#\' data-toggle=\'tooltip\' 
       data-placement=\'top\' title=\'error!\' 
       ng-show=\'!inputForm.$valid\'>errMsg - {{grid.appScope.customMsg}}
       </a></form></div>"
    }

Единственная проблема в том, что очень трудно увидеть сообщение, так как форма почти полностью скрыта строкой.

Надеюсь это поможет.

person MilitelloVinx    schedule 04.10.2016