我在使用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>',
答案 0 :(得分:2)
这个问题来自误解uigrid自定义可编辑模板。
UI Grid本身并没有完成单元格编辑。正在等待事件
uiGridEditConstants.events.END_CELL_EDIT.
此事件由2个ui-grid指令发出:
对于输入元素:ui-grid-editor (您的情况):
<input ui-grid-editor type="checkbox" id="check2-{{row.entity.id}}" ... >
对于select元素:ui-grid-edit-dropdown:
<select ui-grid-edit-dropdown ... >
对于自定义元素:您必须自己发出事件:
scope.$emit(uiGridEditConstants.events.END_CELL_EDIT);