diff --git a/src/components/column/Column.d.ts b/src/components/column/Column.d.ts
index 4b99d80d1..6c4989bad 100755
--- a/src/components/column/Column.d.ts
+++ b/src/components/column/Column.d.ts
@@ -269,6 +269,10 @@ export interface ColumnSlots {
* Whether the row is frozen.
*/
frozenRow: boolean;
+ /**
+ * Callback function
+ */
+ editorInitCallback: () => void;
}) => VNode[];
/**
* Custom header template.
@@ -280,7 +284,7 @@ export interface ColumnSlots {
*/
column: Column;
}) => VNode[];
- /**
+ /**
* Custom footer template.
* @param {Object} scope - footer slot's params.
*/
@@ -315,8 +319,16 @@ export interface ColumnSlots {
* Whether the row is frozen.
*/
frozenRow: boolean;
+ /**
+ * Callback function
+ */
+ editorSaveCallback: () => void;
+ /**
+ * Callback function
+ */
+ editorCancelCallback: () => void;
}) => VNode[];
- /**
+ /**
* Custom filter template.
* @param {Object} scope - filter slot's params.
*/
@@ -354,7 +366,7 @@ export interface ColumnSlots {
*/
filterCallback: () => void;
}) => VNode[];
- /**
+ /**
* Custom filter footer template.
* @param {Object} scope - filter footer slot's params.
*/
diff --git a/src/components/datatable/BodyCell.vue b/src/components/datatable/BodyCell.vue
index 66cbedf19..cbe4dae01 100755
--- a/src/components/datatable/BodyCell.vue
+++ b/src/components/datatable/BodyCell.vue
@@ -4,8 +4,8 @@
{{columnProp('header')}}
-
-
+
+
@@ -326,6 +326,15 @@ export default {
onRowEditCancel(event) {
this.$emit('row-edit-cancel', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
},
+ editorInitCallback(event) {
+ this.$emit('row-edit-init', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
+ },
+ editorSaveCallback(event) {
+ this.$emit('row-edit-save', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
+ },
+ editorCancelCallback(event) {
+ this.$emit('row-edit-cancel', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
+ },
updateStickyPosition() {
if (this.columnProp('frozen')) {
let align = this.columnProp('alignFrozen');
diff --git a/src/views/datatable/DataTableDoc.vue b/src/views/datatable/DataTableDoc.vue
index 6e36b8994..e6925c9f0 100755
--- a/src/views/datatable/DataTableDoc.vue
+++ b/src/views/datatable/DataTableDoc.vue
@@ -415,7 +415,8 @@ export default {
column: Column node
field: Column field
index: Row index
- frozenRow: Is row frozen |
+ frozenRow: Is row frozen
+ editorInitCallback: Callback function
footer |
@@ -427,7 +428,9 @@ export default {
column: Column node
field: Column field
index: Row index
- frozenRow: Is row frozen
+ frozenRow: Is row frozen
+ editorSaveCallback: Callback function
+ editorCancelCallback: Callback function
filter |