vxe-table 4.13.0-beta.3 → 4.13.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9405,7 +9405,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
9405
9405
  isChange = oldValue === newValue;
9406
9406
  if (isChange) {
9407
9407
  newValue = null;
9408
- tableMethods.clearRadioRow();
9408
+ $xeTable.clearRadioRow();
9409
9409
  }
9410
9410
  }
9411
9411
  if (isChange) {
@@ -9416,17 +9416,29 @@ var _default = exports.default = (0, _vue.defineComponent)({
9416
9416
  }
9417
9417
  },
9418
9418
  triggerCurrentColumnEvent(evnt, params) {
9419
- const columnOpts = computeColumnOpts.value;
9420
9419
  const {
9421
- currentMethod
9422
- } = columnOpts;
9420
+ currentColumn: oldValue
9421
+ } = reactData;
9422
+ const columnOpts = computeColumnOpts.value;
9423
+ const currentColumnOpts = computeCurrentColumnOpts.value;
9424
+ const beforeRowMethod = currentColumnOpts.beforeSelectMethod || columnOpts.currentMethod;
9423
9425
  const {
9424
- column
9426
+ column: newValue
9425
9427
  } = params;
9426
- if (!currentMethod || currentMethod({
9427
- column
9428
+ const isChange = oldValue !== newValue;
9429
+ if (!beforeRowMethod || beforeRowMethod({
9430
+ column: newValue,
9431
+ $table: $xeTable
9428
9432
  })) {
9429
- tableMethods.setCurrentColumn(column);
9433
+ $xeTable.setCurrentColumn(newValue);
9434
+ if (isChange) {
9435
+ dispatchEvent('current-column-change', Object.assign({
9436
+ oldValue,
9437
+ newValue
9438
+ }, params), evnt);
9439
+ }
9440
+ } else {
9441
+ dispatchEvent('current-column-disabled', params, evnt);
9430
9442
  }
9431
9443
  },
9432
9444
  triggerCurrentRowEvent(evnt, params) {
@@ -9434,23 +9446,30 @@ var _default = exports.default = (0, _vue.defineComponent)({
9434
9446
  currentRow: oldValue
9435
9447
  } = reactData;
9436
9448
  const rowOpts = computeRowOpts.value;
9437
- const {
9438
- currentMethod
9439
- } = rowOpts;
9449
+ const currentRowOpts = computeCurrentRowOpts.value;
9450
+ const beforeRowMethod = currentRowOpts.beforeSelectMethod || rowOpts.currentMethod;
9440
9451
  const {
9441
9452
  row: newValue
9442
9453
  } = params;
9443
9454
  const isChange = oldValue !== newValue;
9444
- if (!currentMethod || currentMethod({
9445
- row: newValue
9455
+ if (!beforeRowMethod || beforeRowMethod({
9456
+ row: newValue,
9457
+ $table: $xeTable
9446
9458
  })) {
9447
- tableMethods.setCurrentRow(newValue);
9459
+ $xeTable.setCurrentRow(newValue);
9448
9460
  if (isChange) {
9461
+ dispatchEvent('current-row-change', Object.assign({
9462
+ oldValue,
9463
+ newValue
9464
+ }, params), evnt);
9465
+ // 已废弃
9449
9466
  dispatchEvent('current-change', Object.assign({
9450
9467
  oldValue,
9451
9468
  newValue
9452
9469
  }, params), evnt);
9453
9470
  }
9471
+ } else {
9472
+ dispatchEvent('current-row-disabled', params, evnt);
9454
9473
  }
9455
9474
  },
9456
9475
  /**
@@ -12120,6 +12139,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
12120
12139
  if (checkboxOpts.halfField) {
12121
12140
  (0, _log.warnLog)('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField']);
12122
12141
  }
12142
+ if (rowOpts.currentMethod) {
12143
+ (0, _log.warnLog)('vxe.error.delProp', ['row-config.currentMethod', 'current-row-config.beforeSelectMethod']);
12144
+ }
12145
+ if (columnOpts.currentMethod) {
12146
+ (0, _log.warnLog)('vxe.error.delProp', ['row-config.currentMethod', 'current-column-config.beforeSelectMethod']);
12147
+ }
12123
12148
  if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !_xeUtils.default.isBoolean(currentRowOpts.isFollowSelected)) {
12124
12149
  (0, _log.warnLog)('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected']);
12125
12150
  }