bootstrap-table-editable 源码解析
bootstrap-table-editable.js
事件
$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
'editable-init.bs.table': 'onEditableInit',
'editable-save.bs.table': 'onEditableSave',
'editable-shown.bs.table': 'onEditableShown',
'editable-hidden.bs.table': 'onEditableHidden'
});
initTable
var that = this;
$.each(this.columns, function(i, column) {
column.formatter = function(value, row, index) {
};
});
initBody
var that = this;
$.each(this.columns, function(i, column) {
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable).off('save').on('save', function(e, params){});
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable).off('shown').on('shown', function(e, editable) {});
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable).off('hidden').on('hidden', function(e, reason) {});
});
save 保存时调用的方法
on('save', function(e, params){});
var data = that.getData(),
index = $(this).parents('tr[data-index]').data('index'),
row = data[index],
oldValue = row[column.field];
$(this).data('value', params.submitValue);
row[column.field] = params.submitValue;
that.trigger('editable-save', column.field, row, oldValue, $(this));
that.resetFooter();