ui-grid angular js - 单元格在编辑模式下卡住

时间:2017-04-24 14:39:45

标签: angular angularjs-directive angular-ui-grid

我在使用ui-grid时添加了自定义editablecelltemplate。问题是一旦单元格进入编辑模式,它就会保留在那里。以后没有显示celltemplate。

这是我正在使用的Javascript:

name: app.localize('IsHiddenName'),
field: 'isHidden',
type: 'boolean',
cellTemplate:
    '<div class=\"ui-grid-cell-contents text-center\">' +
    '  <i class="fa fa-check-circle font-green" ng-if="row.entity.isHidden"></i>' +
    '</div>',
editableCellTemplate:
    '<div style="margin:5px;">' +
    '<div class="md-checkbox-list">' +
    '<div class="md-checkbox">' +
       '<input type="checkbox" id="check2-{{row.entity.id}}" class="md-check" ng-class="\'colt\' + col.uid" ui-grid-editor ng-model="MODEL_COL_FIELD">' +
       '<label for="check2-{{row.entity.id}}"><span class="inc"></span><span class="check"></span><span class="box"></span></label>' +
   '</div>' +
   '</div>'+
   '</div>',

1 个答案:

答案 0 :(得分:2)

这个问题来自误解uigrid自定义可编辑模板。

UI Grid本身并没有完成单元格编辑。正在等待事件
uiGridEditConstants.events.END_CELL_EDIT.

此事件由2个ui-grid指令发出:

  1. 对于输入元素:ui-grid-editor (您的情况)
    <input ui-grid-editor type="checkbox" id="check2-{{row.entity.id}}" ... >

  2. 对于select元素:ui-grid-edit-dropdown:
    <select ui-grid-edit-dropdown ... >

  3. 对于自定义元素:您必须自己发出事件: scope.$emit(uiGridEditConstants.events.END_CELL_EDIT);