vxe-table 3.5.9-beta.3 → 3.5.9-beta.6

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.
Files changed (78) hide show
  1. package/README.md +1 -1
  2. package/lib/edit/src/mixin.js +5 -5
  3. package/lib/edit/src/mixin.min.js +1 -1
  4. package/lib/filter/src/mixin.js +8 -5
  5. package/lib/filter/src/mixin.min.js +1 -1
  6. package/lib/form/src/form-item.js +1 -0
  7. package/lib/form/src/form-item.min.js +1 -1
  8. package/lib/form/src/render.js +1 -0
  9. package/lib/form/src/render.min.js +1 -1
  10. package/lib/grid/src/grid.js +11 -6
  11. package/lib/grid/src/grid.min.js +1 -1
  12. package/lib/index.css +1 -1
  13. package/lib/index.umd.js +326 -109
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/locale/lang/en-US.js +2 -0
  16. package/lib/locale/lang/en-US.min.js +1 -1
  17. package/lib/locale/lang/en-US.umd.js +2 -0
  18. package/lib/locale/lang/ja-JP.js +2 -0
  19. package/lib/locale/lang/ja-JP.min.js +1 -1
  20. package/lib/locale/lang/ja-JP.umd.js +2 -0
  21. package/lib/locale/lang/zh-CN.js +2 -0
  22. package/lib/locale/lang/zh-CN.min.js +1 -1
  23. package/lib/locale/lang/zh-CN.umd.js +2 -0
  24. package/lib/locale/lang/zh-HK.min.js +1 -1
  25. package/lib/locale/lang/zh-HK.umd.js +2 -0
  26. package/lib/locale/lang/zh-MO.min.js +1 -1
  27. package/lib/locale/lang/zh-MO.umd.js +2 -0
  28. package/lib/locale/lang/zh-TC.js +2 -0
  29. package/lib/locale/lang/zh-TC.min.js +1 -1
  30. package/lib/locale/lang/zh-TC.umd.js +2 -0
  31. package/lib/locale/lang/zh-TW.min.js +1 -1
  32. package/lib/locale/lang/zh-TW.umd.js +2 -0
  33. package/lib/select/src/select.js +213 -33
  34. package/lib/select/src/select.min.js +1 -1
  35. package/lib/select/style/style.css +17 -3
  36. package/lib/select/style/style.min.css +1 -1
  37. package/lib/style.css +1 -1
  38. package/lib/style.min.css +1 -1
  39. package/lib/table/src/body.js +1 -1
  40. package/lib/table/src/body.min.js +1 -1
  41. package/lib/table/src/cell.js +3 -3
  42. package/lib/table/src/cell.min.js +1 -1
  43. package/lib/table/src/columnInfo.js +1 -1
  44. package/lib/table/src/columnInfo.min.js +1 -1
  45. package/lib/table/src/methods.js +75 -53
  46. package/lib/table/src/methods.min.js +1 -1
  47. package/lib/table/src/table.js +4 -1
  48. package/lib/toolbar/style/style.css +13 -10
  49. package/lib/toolbar/style/style.min.css +1 -1
  50. package/lib/tools/log.js +1 -1
  51. package/lib/tools/log.min.js +1 -1
  52. package/lib/tools/utils.js +2 -2
  53. package/lib/tools/utils.min.js +1 -1
  54. package/lib/v-x-e-table/index.js +1 -1
  55. package/lib/v-x-e-table/index.min.js +1 -1
  56. package/package.json +1 -1
  57. package/packages/edit/src/mixin.js +5 -4
  58. package/packages/filter/src/mixin.js +5 -5
  59. package/packages/form/src/form-item.js +1 -1
  60. package/packages/form/src/render.js +1 -1
  61. package/packages/grid/src/grid.js +7 -4
  62. package/packages/locale/lang/en-US.js +2 -0
  63. package/packages/locale/lang/ja-JP.js +2 -0
  64. package/packages/locale/lang/zh-CN.js +2 -0
  65. package/packages/locale/lang/zh-TC.js +2 -0
  66. package/packages/select/src/select.js +139 -16
  67. package/packages/table/src/body.js +1 -1
  68. package/packages/table/src/cell.js +3 -3
  69. package/packages/table/src/columnInfo.js +1 -1
  70. package/packages/table/src/methods.js +61 -50
  71. package/packages/table/src/table.js +3 -0
  72. package/packages/tools/utils.js +2 -2
  73. package/styles/select.scss +24 -5
  74. package/styles/toolbar.scss +9 -5
  75. package/styles/variable.scss +0 -4
  76. package/types/form-item.d.ts +11 -8
  77. package/types/form.d.ts +5 -2
  78. package/types/table.d.ts +5 -0
package/lib/index.umd.js CHANGED
@@ -8808,7 +8808,7 @@ var es_array_concat = __webpack_require__("99af");
8808
8808
 
8809
8809
 
8810
8810
  function getLog(message, params) {
8811
- return "[vxe-table v".concat("3.5.9-beta.2", "] ").concat(conf.i18n(message, params));
8811
+ return "[vxe-table v".concat("3.5.9-beta.6", "] ").concat(conf.i18n(message, params));
8812
8812
  }
8813
8813
 
8814
8814
  function outLog(type) {
@@ -9039,10 +9039,10 @@ var UtilTools = {
9039
9039
  return '' + (value === '' || value === null || value === undefined ? placeholder ? conf.emptyCell : '' : value);
9040
9040
  },
9041
9041
  getCellValue: function getCellValue(row, column) {
9042
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, column.property);
9042
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, column.field);
9043
9043
  },
9044
9044
  setCellValue: function setCellValue(row, column, value) {
9045
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, column.property, value);
9045
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, column.field, value);
9046
9046
  },
9047
9047
  // 组装列配置
9048
9048
  assemColumn: function assemColumn(_vm) {
@@ -10077,7 +10077,7 @@ function _t(key, args) {
10077
10077
  var v = 'v3';
10078
10078
  var VXETable = {
10079
10079
  v: v,
10080
- version: "3.5.9-beta.2",
10080
+ version: "3.5.9-beta.6",
10081
10081
  reg: reg,
10082
10082
  use: use,
10083
10083
  setup: setup,
@@ -10297,7 +10297,7 @@ var columnInfo_ColumnInfo = /*#__PURE__*/function () {
10297
10297
  }, {
10298
10298
  key: "getKey",
10299
10299
  value: function getKey() {
10300
- return this.property || (this.type ? "type=".concat(this.type) : null);
10300
+ return this.field || (this.type ? "type=".concat(this.type) : null);
10301
10301
  }
10302
10302
  }, {
10303
10303
  key: "update",
@@ -11153,7 +11153,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
11153
11153
 
11154
11154
 
11155
11155
  if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
11156
- isDirty = $xetable.isUpdateByRow(row, column.property);
11156
+ isDirty = $xetable.isUpdateByRow(row, column.field);
11157
11157
  }
11158
11158
 
11159
11159
  var tdVNs = [];
@@ -13066,7 +13066,7 @@ var Cell = {
13066
13066
  treeIndeterminates = $table.treeIndeterminates;
13067
13067
  var _$table$checkboxOpts2 = $table.checkboxOpts,
13068
13068
  labelField = _$table$checkboxOpts2.labelField,
13069
- property = _$table$checkboxOpts2.checkField,
13069
+ checkField = _$table$checkboxOpts2.checkField,
13070
13070
  halfField = _$table$checkboxOpts2.halfField,
13071
13071
  checkMethod = _$table$checkboxOpts2.checkMethod,
13072
13072
  visibleMethod = _$table$checkboxOpts2.visibleMethod;
@@ -13082,7 +13082,7 @@ var Cell = {
13082
13082
  var on;
13083
13083
 
13084
13084
  if (!isHidden) {
13085
- isChecked = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, property);
13085
+ isChecked = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, checkField);
13086
13086
  on = {
13087
13087
  click: function click(evnt) {
13088
13088
  if (!isDisabled && isVisible) {
@@ -13335,7 +13335,7 @@ var Cell = {
13335
13335
  var isRequired = false;
13336
13336
 
13337
13337
  if (editRules) {
13338
- var columnRules = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(editRules, params.column.property);
13338
+ var columnRules = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(editRules, column.field);
13339
13339
 
13340
13340
  if (columnRules) {
13341
13341
  isRequired = columnRules.some(function (rule) {
@@ -13910,7 +13910,9 @@ var Methods = {
13910
13910
  scrollXStore = this.scrollXStore,
13911
13911
  lastScrollLeft = this.lastScrollLeft,
13912
13912
  lastScrollTop = this.lastScrollTop,
13913
- oldScrollYLoad = this.scrollYLoad;
13913
+ oldScrollYLoad = this.scrollYLoad,
13914
+ sXOpts = this.sXOpts,
13915
+ sYOpts = this.sYOpts;
13914
13916
  var treeData = [];
13915
13917
  var fullData = datas ? datas.slice(0) : [];
13916
13918
 
@@ -13982,12 +13984,23 @@ var Methods = {
13982
13984
  _this4.$nextTick().then(function () {
13983
13985
  return _this4.recalculate();
13984
13986
  }).then(function () {
13985
- // 是否变更虚拟滚动
13987
+ var targetScrollLeft = lastScrollLeft;
13988
+ var targetScrollTop = lastScrollTop; // 是否在更新数据之后自动滚动重置滚动条
13989
+
13990
+ if (sXOpts.scrollToLeftOnChange) {
13991
+ targetScrollLeft = 0;
13992
+ }
13993
+
13994
+ if (sYOpts.scrollToTopOnChange) {
13995
+ targetScrollTop = 0;
13996
+ } // 是否变更虚拟滚动
13997
+
13998
+
13986
13999
  if (oldScrollYLoad === sYLoad) {
13987
- restoreScrollLocation(_this4, lastScrollLeft, lastScrollTop).then(resolve);
14000
+ restoreScrollLocation(_this4, targetScrollLeft, targetScrollTop).then(resolve);
13988
14001
  } else {
13989
14002
  setTimeout(function () {
13990
- return restoreScrollLocation(_this4, lastScrollLeft, lastScrollTop).then(resolve);
14003
+ return restoreScrollLocation(_this4, targetScrollLeft, targetScrollTop).then(resolve);
13991
14004
  });
13992
14005
  }
13993
14006
  });
@@ -14284,7 +14297,7 @@ var Methods = {
14284
14297
 
14285
14298
  var handleFunc = function handleFunc(column, index, items, path, parent) {
14286
14299
  var colid = column.id,
14287
- property = column.property,
14300
+ field = column.field,
14288
14301
  fixed = column.fixed,
14289
14302
  type = column.type,
14290
14303
  treeNode = column.treeNode;
@@ -14296,10 +14309,10 @@ var Methods = {
14296
14309
  parent: parent
14297
14310
  };
14298
14311
 
14299
- if (property) {
14312
+ if (field) {
14300
14313
  if (false) {}
14301
14314
 
14302
- fullColumnFieldData[property] = rest;
14315
+ fullColumnFieldData[field] = rest;
14303
14316
  }
14304
14317
 
14305
14318
  if (!hasFixed && fixed) {
@@ -14514,10 +14527,10 @@ var Methods = {
14514
14527
  expandOpts = this.expandOpts;
14515
14528
  var rowkey = getRowkey(this);
14516
14529
  this.tableFullColumn.forEach(function (column) {
14517
- var property = column.property,
14530
+ var field = column.field,
14518
14531
  editRender = column.editRender;
14519
14532
 
14520
- if (property && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.has(record, property)) {
14533
+ if (field && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.has(record, field)) {
14521
14534
  var cellValue = null;
14522
14535
 
14523
14536
  if (editRender) {
@@ -14532,7 +14545,7 @@ var Methods = {
14532
14545
  }
14533
14546
  }
14534
14547
 
14535
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(record, property, cellValue);
14548
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(record, field, cellValue);
14536
14549
  }
14537
14550
  });
14538
14551
  var otherFields = [radioOpts.labelField, checkboxOpts.checkField, checkboxOpts.labelField, expandOpts.labelField];
@@ -14681,7 +14694,7 @@ var Methods = {
14681
14694
  } else {
14682
14695
  rows.forEach(function (row) {
14683
14696
  visibleColumn.forEach(function (column) {
14684
- if (column.property) {
14697
+ if (column.field) {
14685
14698
  methods_setCellValue(row, column, null);
14686
14699
  }
14687
14700
  });
@@ -14751,7 +14764,7 @@ var Methods = {
14751
14764
  }
14752
14765
 
14753
14766
  for (var index = 0, len = visibleColumn.length; index < len; index++) {
14754
- property = visibleColumn[index].property;
14767
+ property = visibleColumn[index].field;
14755
14768
 
14756
14769
  if (property && !eqCellValue(oRow, row, property)) {
14757
14770
  return true;
@@ -14825,20 +14838,20 @@ var Methods = {
14825
14838
  var transform = treeOpts.transform,
14826
14839
  children = treeOpts.children,
14827
14840
  mapChildren = treeOpts.mapChildren;
14828
- var property = checkboxOpts.checkField;
14841
+ var checkField = checkboxOpts.checkField;
14829
14842
  var currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
14830
14843
  var rowList = [];
14831
14844
 
14832
- if (property) {
14845
+ if (checkField) {
14833
14846
  if (treeConfig) {
14834
14847
  rowList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.filterTree(currTableData, function (row) {
14835
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, property);
14848
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, checkField);
14836
14849
  }, {
14837
14850
  children: transform ? mapChildren : children
14838
14851
  });
14839
14852
  } else {
14840
14853
  rowList = currTableData.filter(function (row) {
14841
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, property);
14854
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, checkField);
14842
14855
  });
14843
14856
  }
14844
14857
  } else {
@@ -14916,7 +14929,7 @@ var Methods = {
14916
14929
  var filterColumns = [];
14917
14930
  var orderColumns = [];
14918
14931
  tableFullColumn.forEach(function (column) {
14919
- var property = column.property,
14932
+ var field = column.field,
14920
14933
  sortable = column.sortable,
14921
14934
  order = column.order,
14922
14935
  filters = column.filters;
@@ -14943,8 +14956,8 @@ var Methods = {
14943
14956
  if (!allRemoteSort && sortable && order) {
14944
14957
  orderColumns.push({
14945
14958
  column: column,
14946
- field: column.property,
14947
- property: property,
14959
+ field: field,
14960
+ property: field,
14948
14961
  order: order,
14949
14962
  sortTime: column.sortTime
14950
14963
  });
@@ -14964,7 +14977,8 @@ var Methods = {
14964
14977
 
14965
14978
  if (valueList.length && !allRemoteFilter) {
14966
14979
  var filterMethod = column.filterMethod,
14967
- filterRender = column.filterRender;
14980
+ filterRender = column.filterRender,
14981
+ field = column.field;
14968
14982
  var compConf = filterRender ? v_x_e_table.renderer.get(filterRender.name) : null;
14969
14983
  var compFilterMethod = compConf && compConf.renderFilter ? compConf.filterMethod : null;
14970
14984
  var defaultFilterMethod = compConf ? compConf.defaultFilterMethod : null;
@@ -15013,7 +15027,7 @@ var Methods = {
15013
15027
  });
15014
15028
  }
15015
15029
 
15016
- return valueList.indexOf(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, column.property)) > -1;
15030
+ return valueList.indexOf(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, field)) > -1;
15017
15031
  }
15018
15032
 
15019
15033
  return true;
@@ -15071,7 +15085,8 @@ var Methods = {
15071
15085
  var _sortRests = allSortMethod({
15072
15086
  data: tableData,
15073
15087
  column: firstOrderColumn.column,
15074
- property: firstOrderColumn.property,
15088
+ property: firstOrderColumn.field,
15089
+ field: firstOrderColumn.field,
15075
15090
  order: firstOrderColumn.order,
15076
15091
  sortList: orderColumns,
15077
15092
  $table: this
@@ -15212,8 +15227,9 @@ var Methods = {
15212
15227
  * 根据行的唯一主键获取行
15213
15228
  * @param {String/Number} rowid 行主键
15214
15229
  */
15215
- getRowById: function getRowById(rowid) {
15230
+ getRowById: function getRowById(cellValue) {
15216
15231
  var fullDataRowIdData = this.fullDataRowIdData;
15232
+ var rowid = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(cellValue) ? '' : encodeURIComponent(cellValue);
15217
15233
  return fullDataRowIdData[rowid] ? fullDataRowIdData[rowid].row : null;
15218
15234
  },
15219
15235
 
@@ -16664,7 +16680,9 @@ var Methods = {
16664
16680
  // 如果是按下非功能键之外允许直接编辑
16665
16681
 
16666
16682
  if (selected.column && selected.row && isEnableConf(selected.column.editRender)) {
16667
- if (!editOpts.activeMethod || editOpts.activeMethod(_objectSpread2(_objectSpread2({}, selected.args), {}, {
16683
+ var beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
16684
+
16685
+ if (!beforeEditMethod || beforeEditMethod(_objectSpread2(_objectSpread2({}, selected.args), {}, {
16668
16686
  $table: _this28
16669
16687
  }))) {
16670
16688
  if (editMethod) {
@@ -17033,10 +17051,10 @@ var Methods = {
17033
17051
  return this.$nextTick();
17034
17052
  },
17035
17053
  isCheckedByCheckboxRow: function isCheckedByCheckboxRow(row) {
17036
- var property = this.checkboxOpts.checkField;
17054
+ var checkField = this.checkboxOpts.checkField;
17037
17055
 
17038
- if (property) {
17039
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, property);
17056
+ if (checkField) {
17057
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, checkField);
17040
17058
  }
17041
17059
 
17042
17060
  return this.selection.indexOf(row) > -1;
@@ -17059,25 +17077,25 @@ var Methods = {
17059
17077
  treeOpts = this.treeOpts,
17060
17078
  treeIndeterminates = this.treeIndeterminates,
17061
17079
  checkboxOpts = this.checkboxOpts;
17062
- var property = checkboxOpts.checkField,
17080
+ var checkField = checkboxOpts.checkField,
17063
17081
  checkStrictly = checkboxOpts.checkStrictly,
17064
17082
  checkMethod = checkboxOpts.checkMethod;
17065
17083
 
17066
- if (property) {
17084
+ if (checkField) {
17067
17085
  if (treeConfig && !checkStrictly) {
17068
17086
  if (value === -1) {
17069
17087
  if (treeIndeterminates.indexOf(row) === -1) {
17070
17088
  treeIndeterminates.push(row);
17071
17089
  }
17072
17090
 
17073
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, property, false);
17091
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, checkField, false);
17074
17092
  } else {
17075
17093
  // 更新子节点状态
17076
17094
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree([row], function (item) {
17077
17095
  if (row === item || !checkMethod || checkMethod({
17078
17096
  row: item
17079
17097
  })) {
17080
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(item, property, value);
17098
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(item, checkField, value);
17081
17099
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.remove(treeIndeterminates, function (half) {
17082
17100
  return half === item;
17083
17101
  });
@@ -17107,7 +17125,7 @@ var Methods = {
17107
17125
  parentStatus = -1;
17108
17126
  } else {
17109
17127
  var selectItems = matchObj.items.filter(function (item) {
17110
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(item, property);
17128
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(item, checkField);
17111
17129
  });
17112
17130
  parentStatus = selectItems.filter(function (item) {
17113
17131
  return vItems.indexOf(item) > -1;
@@ -17122,7 +17140,7 @@ var Methods = {
17122
17140
  if (!checkMethod || checkMethod({
17123
17141
  row: row
17124
17142
  })) {
17125
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, property, value);
17143
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, checkField, value);
17126
17144
  this.handleCheckboxReserveRow(row, value);
17127
17145
  }
17128
17146
  }
@@ -17217,9 +17235,9 @@ var Methods = {
17217
17235
  handleToggleCheckRowEvent: function handleToggleCheckRowEvent(evnt, params) {
17218
17236
  var selection = this.selection,
17219
17237
  checkboxOpts = this.checkboxOpts;
17220
- var property = checkboxOpts.checkField;
17238
+ var checkField = checkboxOpts.checkField;
17221
17239
  var row = params.row;
17222
- var value = property ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, property) : selection.indexOf(row) === -1;
17240
+ var value = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, checkField) : selection.indexOf(row) === -1;
17223
17241
 
17224
17242
  if (evnt) {
17225
17243
  this.triggerCheckRowEvent(evnt, params, value);
@@ -17266,7 +17284,7 @@ var Methods = {
17266
17284
  selection = this.selection,
17267
17285
  checkboxReserveRowMap = this.checkboxReserveRowMap,
17268
17286
  checkboxOpts = this.checkboxOpts;
17269
- var property = checkboxOpts.checkField,
17287
+ var checkField = checkboxOpts.checkField,
17270
17288
  reserve = checkboxOpts.reserve,
17271
17289
  checkStrictly = checkboxOpts.checkStrictly,
17272
17290
  checkMethod = checkboxOpts.checkMethod;
@@ -17282,7 +17300,7 @@ var Methods = {
17282
17300
  * 绑定属性方式(高性能,有污染)
17283
17301
  * 必须在行数据存在对应的属性,否则将不响应
17284
17302
  */
17285
- if (property) {
17303
+ if (checkField) {
17286
17304
  var checkValFn = function checkValFn(row) {
17287
17305
  if (!checkMethod || checkMethod({
17288
17306
  row: row
@@ -17291,7 +17309,7 @@ var Methods = {
17291
17309
  selectRows.push(row);
17292
17310
  }
17293
17311
 
17294
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, property, value);
17312
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, checkField, value);
17295
17313
  }
17296
17314
  }; // 如果存在选中方法
17297
17315
  // 如果方法成立,则更新值,否则忽略该数据
@@ -17380,7 +17398,7 @@ var Methods = {
17380
17398
  }
17381
17399
  }
17382
17400
 
17383
- this.selection = property ? [] : beforeSelection.concat(selectRows);
17401
+ this.selection = checkField ? [] : beforeSelection.concat(selectRows);
17384
17402
  }
17385
17403
 
17386
17404
  this.treeIndeterminates = [];
@@ -17686,17 +17704,17 @@ var Methods = {
17686
17704
  treeConfig = this.treeConfig,
17687
17705
  treeOpts = this.treeOpts,
17688
17706
  checkboxOpts = this.checkboxOpts;
17689
- var property = checkboxOpts.checkField,
17707
+ var checkField = checkboxOpts.checkField,
17690
17708
  reserve = checkboxOpts.reserve;
17691
17709
 
17692
- if (property) {
17710
+ if (checkField) {
17693
17711
  if (treeConfig) {
17694
17712
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(tableFullData, function (item) {
17695
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(item, property, false);
17713
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(item, checkField, false);
17696
17714
  }, treeOpts);
17697
17715
  } else {
17698
17716
  tableFullData.forEach(function (item) {
17699
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(item, property, false);
17717
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(item, checkField, false);
17700
17718
  });
17701
17719
  }
17702
17720
  }
@@ -18175,21 +18193,24 @@ var Methods = {
18175
18193
  */
18176
18194
  triggerSortEvent: function triggerSortEvent(evnt, column, order) {
18177
18195
  var sortOpts = this.sortOpts;
18178
- var property = column.property;
18196
+ var field = column.field,
18197
+ sortable = column.sortable,
18198
+ remoteSort = column.remoteSort;
18179
18199
 
18180
- if (column.sortable || column.remoteSort) {
18200
+ if (sortable || remoteSort) {
18181
18201
  if (!order || column.order === order) {
18182
18202
  this.clearSort(sortOpts.multiple ? column : null);
18183
18203
  } else {
18184
18204
  this.sort({
18185
- field: property,
18205
+ field: field,
18186
18206
  order: order
18187
18207
  });
18188
18208
  }
18189
18209
 
18190
18210
  var params = {
18191
18211
  column: column,
18192
- property: property,
18212
+ field: field,
18213
+ property: field,
18193
18214
  order: column.order,
18194
18215
  sortList: this.getSortColumns()
18195
18216
  };
@@ -18306,14 +18327,14 @@ var Methods = {
18306
18327
  chronological = _this$sortOpts.chronological;
18307
18328
  var sortList = [];
18308
18329
  this.tableFullColumn.forEach(function (column) {
18309
- var property = column.property,
18330
+ var field = column.field,
18310
18331
  order = column.order;
18311
18332
 
18312
18333
  if ((column.sortable || column.remoteSort) && order) {
18313
18334
  sortList.push({
18314
18335
  column: column,
18315
- field: column.property,
18316
- property: property,
18336
+ field: field,
18337
+ property: field,
18317
18338
  order: order,
18318
18339
  sortTime: column.sortTime
18319
18340
  });
@@ -18345,7 +18366,8 @@ var Methods = {
18345
18366
  if (visible) {
18346
18367
  this.emitEvent('filter-visible', {
18347
18368
  column: column,
18348
- property: column.property,
18369
+ field: column.field,
18370
+ property: column.field,
18349
18371
  filterList: this.getCheckedFilters(),
18350
18372
  visible: false
18351
18373
  }, null);
@@ -21456,7 +21478,8 @@ var Table = Object.assign(table, {
21456
21478
 
21457
21479
  this.emitEvent('filter-visible', {
21458
21480
  column: column,
21459
- property: column.property,
21481
+ field: column.field,
21482
+ property: column.field,
21460
21483
  filterList: this.getCheckedFilters(),
21461
21484
  visible: filterStore.visible
21462
21485
  }, evnt);
@@ -21465,7 +21488,7 @@ var Table = Object.assign(table, {
21465
21488
  var tableFullColumn = this.tableFullColumn;
21466
21489
  var filterList = [];
21467
21490
  tableFullColumn.filter(function (column) {
21468
- var property = column.property,
21491
+ var field = column.field,
21469
21492
  filters = column.filters;
21470
21493
  var valueList = [];
21471
21494
  var dataList = [];
@@ -21481,7 +21504,8 @@ var Table = Object.assign(table, {
21481
21504
  if (valueList.length) {
21482
21505
  filterList.push({
21483
21506
  column: column,
21484
- property: property,
21507
+ field: field,
21508
+ property: field,
21485
21509
  values: valueList,
21486
21510
  datas: dataList
21487
21511
  });
@@ -21504,7 +21528,7 @@ var Table = Object.assign(table, {
21504
21528
  oldScrollXLoad = this.scrollXLoad,
21505
21529
  oldScrollYLoad = this.scrollYLoad;
21506
21530
  var column = filterStore.column;
21507
- var property = column.property;
21531
+ var field = column.field;
21508
21532
  var values = [];
21509
21533
  var datas = [];
21510
21534
  column.filters.forEach(function (item) {
@@ -21522,7 +21546,8 @@ var Table = Object.assign(table, {
21522
21546
 
21523
21547
  this.emitEvent('filter-change', {
21524
21548
  column: column,
21525
- property: property,
21549
+ field: field,
21550
+ property: field,
21526
21551
  values: values,
21527
21552
  datas: datas,
21528
21553
  filters: filterList,
@@ -22417,7 +22442,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
22417
22442
  var actived = editStore.actived,
22418
22443
  removeList = editStore.removeList,
22419
22444
  insertList = editStore.insertList;
22420
- var property = checkboxOpts.checkField;
22445
+ var checkField = checkboxOpts.checkField;
22421
22446
  var rest = [];
22422
22447
 
22423
22448
  if (!rows) {
@@ -22433,7 +22458,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
22433
22458
  }
22434
22459
  }); // 如果绑定了多选属性,则更新状态
22435
22460
 
22436
- if (!property) {
22461
+ if (!checkField) {
22437
22462
  rows.forEach(function (row) {
22438
22463
  var sIndex = selection.indexOf(row);
22439
22464
 
@@ -22681,20 +22706,20 @@ function insertTreeRow(_vm, newRecords, isAppend) {
22681
22706
  tableColumn = this.tableColumn,
22682
22707
  editConfig = this.editConfig,
22683
22708
  mouseConfig = this.mouseConfig;
22684
- var mode = editOpts.mode,
22685
- activeMethod = editOpts.activeMethod;
22709
+ var mode = editOpts.mode;
22686
22710
  var actived = editStore.actived;
22687
22711
  var row = params.row,
22688
22712
  column = params.column;
22689
22713
  var editRender = column.editRender;
22690
22714
  var cell = params.cell = params.cell || this.getCell(row, column);
22715
+ var beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
22691
22716
 
22692
22717
  if (isEnableConf(editConfig) && isEnableConf(editRender) && cell) {
22693
22718
  if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
22694
22719
  // 判断是否禁用编辑
22695
22720
  var type = 'edit-disabled';
22696
22721
 
22697
- if (!activeMethod || activeMethod(_objectSpread2(_objectSpread2({}, params), {}, {
22722
+ if (!beforeEditMethod || beforeEditMethod(_objectSpread2(_objectSpread2({}, params), {}, {
22698
22723
  $table: this
22699
22724
  }))) {
22700
22725
  if (mouseConfig) {
@@ -27218,6 +27243,9 @@ function renderExtraSuffixIcon(h, _vm) {
27218
27243
 
27219
27244
 
27220
27245
 
27246
+
27247
+
27248
+
27221
27249
  function isOptionVisible(option) {
27222
27250
  return option.visible !== false;
27223
27251
  }
@@ -27360,6 +27388,15 @@ function findOption(_vm, optionValue) {
27360
27388
  });
27361
27389
  }
27362
27390
 
27391
+ function getRemoteSelectLabel(_vm, value) {
27392
+ var remoteValueList = _vm.remoteValueList;
27393
+ var remoteItem = remoteValueList.find(function (item) {
27394
+ return value === item.key;
27395
+ });
27396
+ var item = remoteItem ? remoteItem.result : null;
27397
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(item ? item[_vm.labelField] : value);
27398
+ }
27399
+
27363
27400
  function getSelectLabel(_vm, value) {
27364
27401
  var item = findOption(_vm, value);
27365
27402
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(item ? item[_vm.labelField] : value);
@@ -27396,7 +27433,7 @@ function renderOption(h, _vm, list, group) {
27396
27433
  mousedown: _vm.mousedownOptionEvent,
27397
27434
  click: function click(evnt) {
27398
27435
  if (!isDisabled) {
27399
- _vm.changeOptionEvent(evnt, optionValue);
27436
+ _vm.changeOptionEvent(evnt, optionValue, option);
27400
27437
  }
27401
27438
  },
27402
27439
  mouseenter: function mouseenter() {
@@ -27445,7 +27482,18 @@ function renderOptgroup(h, _vm) {
27445
27482
  function select_renderOpts(h, _vm) {
27446
27483
  var isGroup = _vm.isGroup,
27447
27484
  visibleGroupList = _vm.visibleGroupList,
27448
- visibleOptionList = _vm.visibleOptionList;
27485
+ visibleOptionList = _vm.visibleOptionList,
27486
+ searchLoading = _vm.searchLoading;
27487
+
27488
+ if (searchLoading) {
27489
+ return [h('div', {
27490
+ class: 'vxe-select--search-loading'
27491
+ }, [h('i', {
27492
+ class: ['vxe-select--search-icon', conf.icon.SELECT_LOADED]
27493
+ }), h('span', {
27494
+ class: 'vxe-select--search-text'
27495
+ }, conf.i18n('vxe.select.loadingText'))])];
27496
+ }
27449
27497
 
27450
27498
  if (isGroup) {
27451
27499
  if (visibleGroupList.length) {
@@ -27492,6 +27540,10 @@ function select_renderOpts(h, _vm) {
27492
27540
  return conf.select.size || conf.size;
27493
27541
  }
27494
27542
  },
27543
+ filterable: Boolean,
27544
+ filterMethod: Function,
27545
+ remote: Boolean,
27546
+ remoteMethod: Function,
27495
27547
  emptyText: String,
27496
27548
  // 已废弃,被 option-config.keyField 替换
27497
27549
  optionId: {
@@ -27533,13 +27585,17 @@ function select_renderOpts(h, _vm) {
27533
27585
  fullOptionList: [],
27534
27586
  visibleGroupList: [],
27535
27587
  visibleOptionList: [],
27588
+ remoteValueList: [],
27536
27589
  panelIndex: 0,
27537
27590
  panelStyle: null,
27538
27591
  panelPlacement: null,
27592
+ currentOption: null,
27539
27593
  currentValue: null,
27540
27594
  visiblePanel: false,
27541
27595
  animatVisible: false,
27542
- isActivated: false
27596
+ isActivated: false,
27597
+ searchValue: '',
27598
+ searchLoading: false
27543
27599
  };
27544
27600
  },
27545
27601
  computed: {
@@ -27577,10 +27633,19 @@ function select_renderOpts(h, _vm) {
27577
27633
 
27578
27634
  var value = this.value,
27579
27635
  multiple = this.multiple,
27636
+ remote = this.remote,
27580
27637
  multiMaxCharNum = this.multiMaxCharNum;
27581
27638
 
27582
27639
  if (value && multiple) {
27583
- return (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(value) ? value : [value]).map(function (val) {
27640
+ var vals = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(value) ? value : [value];
27641
+
27642
+ if (remote) {
27643
+ return vals.map(function (val) {
27644
+ return getRemoteSelectLabel(_this, val);
27645
+ }).join(', ');
27646
+ }
27647
+
27648
+ return vals.map(function (val) {
27584
27649
  var label = getSelectLabel(_this, val);
27585
27650
 
27586
27651
  if (multiMaxCharNum > 0 && label.length > multiMaxCharNum) {
@@ -27591,6 +27656,10 @@ function select_renderOpts(h, _vm) {
27591
27656
  }).join(', ');
27592
27657
  }
27593
27658
 
27659
+ if (remote) {
27660
+ return getRemoteSelectLabel(this, value);
27661
+ }
27662
+
27594
27663
  return getSelectLabel(this, value);
27595
27664
  }
27596
27665
  },
@@ -27651,19 +27720,21 @@ function select_renderOpts(h, _vm) {
27651
27720
  render: function render(h) {
27652
27721
  var _ref, _ref2;
27653
27722
 
27654
- var $scopedSlots = this.$scopedSlots,
27723
+ var _e = this._e,
27724
+ $scopedSlots = this.$scopedSlots,
27655
27725
  vSize = this.vSize,
27656
27726
  className = this.className,
27657
27727
  inited = this.inited,
27658
27728
  isActivated = this.isActivated,
27659
27729
  loading = this.loading,
27660
27730
  disabled = this.disabled,
27661
- visiblePanel = this.visiblePanel;
27731
+ visiblePanel = this.visiblePanel,
27732
+ filterable = this.filterable;
27662
27733
  var prefixSlot = $scopedSlots.prefix;
27663
27734
  return h('div', {
27664
27735
  class: ['vxe-select', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({
27665
27736
  $select: this
27666
- }) : className : '', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--visivle', visiblePanel), _defineProperty(_ref, 'is--disabled', disabled), _defineProperty(_ref, 'is--loading', loading), _defineProperty(_ref, 'is--active', isActivated), _ref)]
27737
+ }) : className : '', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--visivle', visiblePanel), _defineProperty(_ref, 'is--disabled', disabled), _defineProperty(_ref, 'is--filter', filterable), _defineProperty(_ref, 'is--loading', loading), _defineProperty(_ref, 'is--active', isActivated), _ref)]
27667
27738
  }, [h('div', {
27668
27739
  class: 'vxe-select-slots',
27669
27740
  ref: 'hideOption'
@@ -27698,7 +27769,26 @@ function select_renderOpts(h, _vm) {
27698
27769
  placement: this.panelPlacement
27699
27770
  },
27700
27771
  style: this.panelStyle
27701
- }, inited ? [h('div', {
27772
+ }, inited ? [filterable ? h('div', {
27773
+ class: 'vxe-select-filter--wrapper'
27774
+ }, [h('vxe-input', {
27775
+ ref: 'inpSearch',
27776
+ class: 'vxe-select-filter--input',
27777
+ props: {
27778
+ value: this.searchValue,
27779
+ type: 'text',
27780
+ clearable: true,
27781
+ placeholder: conf.i18n('vxe.select.search'),
27782
+ prefixIcon: conf.icon.INPUT_SEARCH
27783
+ },
27784
+ on: {
27785
+ modelValue: this.modelSearchEvent,
27786
+ focus: this.focusSearchEvent,
27787
+ keydown: this.keydownSearchEvent,
27788
+ change: this.triggerSearchEvent,
27789
+ search: this.triggerSearchEvent
27790
+ }
27791
+ })]) : _e(), h('div', {
27702
27792
  ref: 'optWrapper',
27703
27793
  class: 'vxe-select-option--wrapper'
27704
27794
  }, select_renderOpts(h, this))] : null)]);
@@ -27749,23 +27839,57 @@ function select_renderOpts(h, _vm) {
27749
27839
  },
27750
27840
 
27751
27841
  /**
27752
- * 刷新选项,当选项被动态显示/隐藏时可能会用到
27842
+ * 刷新选项,当选项被搜索、动态显示/隐藏时可能会用到
27753
27843
  */
27754
27844
  refreshOption: function refreshOption() {
27755
27845
  var isGroup = this.isGroup,
27756
27846
  fullOptionList = this.fullOptionList,
27757
- fullGroupList = this.fullGroupList;
27847
+ fullGroupList = this.fullGroupList,
27848
+ filterable = this.filterable,
27849
+ filterMethod = this.filterMethod,
27850
+ searchValue = this.searchValue,
27851
+ labelField = this.labelField,
27852
+ groupLabelField = this.groupLabelField;
27758
27853
 
27759
27854
  if (isGroup) {
27760
- this.visibleGroupList = fullGroupList.filter(isOptionVisible);
27855
+ if (filterable && filterMethod) {
27856
+ this.visibleGroupList = fullGroupList.filter(function (group) {
27857
+ return isOptionVisible(group) && filterMethod({
27858
+ group: group,
27859
+ option: null,
27860
+ searchValue: searchValue
27861
+ });
27862
+ });
27863
+ } else if (filterable) {
27864
+ this.visibleGroupList = fullGroupList.filter(function (group) {
27865
+ return isOptionVisible(group) && (!searchValue || "".concat(group[groupLabelField]).indexOf(searchValue) > -1);
27866
+ });
27867
+ } else {
27868
+ this.visibleGroupList = fullGroupList.filter(isOptionVisible);
27869
+ }
27761
27870
  } else {
27762
- this.visibleOptionList = fullOptionList.filter(isOptionVisible);
27871
+ if (filterable && filterMethod) {
27872
+ this.visibleOptionList = fullOptionList.filter(function (option) {
27873
+ return isOptionVisible(option) && filterMethod({
27874
+ group: null,
27875
+ option: option,
27876
+ searchValue: searchValue
27877
+ });
27878
+ });
27879
+ } else if (filterable) {
27880
+ this.visibleOptionList = fullOptionList.filter(function (option) {
27881
+ return isOptionVisible(option) && (!searchValue || "".concat(option[labelField]).indexOf(searchValue) > -1);
27882
+ });
27883
+ } else {
27884
+ this.visibleOptionList = fullOptionList.filter(isOptionVisible);
27885
+ }
27763
27886
  }
27764
27887
 
27765
27888
  return this.$nextTick();
27766
27889
  },
27767
27890
  setCurrentOption: function setCurrentOption(option) {
27768
27891
  if (option) {
27892
+ this.currentOption = option;
27769
27893
  this.currentValue = option[this.valueField];
27770
27894
  }
27771
27895
  },
@@ -27800,6 +27924,7 @@ function select_renderOpts(h, _vm) {
27800
27924
  this.hideOptionPanel();
27801
27925
  },
27802
27926
  clearValueEvent: function clearValueEvent(evnt, selectValue) {
27927
+ this.remoteValueList = [];
27803
27928
  this.changeEvent(evnt, selectValue);
27804
27929
  this.$emit('clear', {
27805
27930
  value: selectValue,
@@ -27826,9 +27951,10 @@ function select_renderOpts(h, _vm) {
27826
27951
  evnt.stopPropagation();
27827
27952
  }
27828
27953
  },
27829
- changeOptionEvent: function changeOptionEvent(evnt, selectValue) {
27954
+ changeOptionEvent: function changeOptionEvent(evnt, selectValue, option) {
27830
27955
  var value = this.value,
27831
- multiple = this.multiple;
27956
+ multiple = this.multiple,
27957
+ remoteValueList = this.remoteValueList;
27832
27958
 
27833
27959
  if (multiple) {
27834
27960
  var multipleValue;
@@ -27845,8 +27971,25 @@ function select_renderOpts(h, _vm) {
27845
27971
  multipleValue = [selectValue];
27846
27972
  }
27847
27973
 
27974
+ var remoteItem = remoteValueList.find(function (item) {
27975
+ return item.key === selectValue;
27976
+ });
27977
+
27978
+ if (remoteItem) {
27979
+ remoteItem.result = option;
27980
+ } else {
27981
+ remoteValueList.push({
27982
+ key: selectValue,
27983
+ result: option
27984
+ });
27985
+ }
27986
+
27848
27987
  this.changeEvent(evnt, multipleValue);
27849
27988
  } else {
27989
+ this.remoteValueList = [{
27990
+ key: selectValue,
27991
+ result: option
27992
+ }];
27850
27993
  this.changeEvent(evnt, selectValue);
27851
27994
  this.hideOptionPanel();
27852
27995
  }
@@ -27883,6 +28026,7 @@ function select_renderOpts(h, _vm) {
27883
28026
  handleGlobalKeydownEvent: function handleGlobalKeydownEvent(evnt) {
27884
28027
  var visiblePanel = this.visiblePanel,
27885
28028
  currentValue = this.currentValue,
28029
+ currentOption = this.currentOption,
27886
28030
  clearable = this.clearable,
27887
28031
  disabled = this.disabled;
27888
28032
 
@@ -27906,7 +28050,7 @@ function select_renderOpts(h, _vm) {
27906
28050
  } else if (isEnter) {
27907
28051
  evnt.preventDefault();
27908
28052
  evnt.stopPropagation();
27909
- this.changeOptionEvent(evnt, currentValue);
28053
+ this.changeOptionEvent(evnt, currentValue, currentOption);
27910
28054
  } else if (isUpArrow || isDwArrow) {
27911
28055
  evnt.preventDefault();
27912
28056
 
@@ -27943,6 +28087,17 @@ function select_renderOpts(h, _vm) {
27943
28087
  this.panelIndex = utils.nextZIndex();
27944
28088
  }
27945
28089
  },
28090
+ handleFocusSearch: function handleFocusSearch() {
28091
+ var _this4 = this;
28092
+
28093
+ if (this.filterable) {
28094
+ this.$nextTick(function () {
28095
+ if (_this4.$refs.inpSearch) {
28096
+ _this4.$refs.inpSearch.focus();
28097
+ }
28098
+ });
28099
+ }
28100
+ },
27946
28101
  focusEvent: function focusEvent() {
27947
28102
  if (!this.disabled) {
27948
28103
  this.isActivated = true;
@@ -27951,6 +28106,47 @@ function select_renderOpts(h, _vm) {
27951
28106
  blurEvent: function blurEvent() {
27952
28107
  this.isActivated = false;
27953
28108
  },
28109
+ modelSearchEvent: function modelSearchEvent(value) {
28110
+ this.searchValue = value;
28111
+ },
28112
+ focusSearchEvent: function focusSearchEvent() {
28113
+ this.isActivated = true;
28114
+ },
28115
+ keydownSearchEvent: function keydownSearchEvent(params) {
28116
+ var $event = params.$event;
28117
+ var isEnter = hasEventKey($event, EVENT_KEYS.ENTER);
28118
+
28119
+ if (isEnter) {
28120
+ $event.preventDefault();
28121
+ $event.stopPropagation();
28122
+ }
28123
+ },
28124
+ triggerSearchEvent: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.debounce(function () {
28125
+ var _this5 = this;
28126
+
28127
+ var remote = this.remote,
28128
+ remoteMethod = this.remoteMethod,
28129
+ searchValue = this.searchValue;
28130
+
28131
+ if (remote && remoteMethod) {
28132
+ this.searchLoading = true;
28133
+ Promise.resolve(remoteMethod({
28134
+ searchValue: searchValue
28135
+ })).then(function () {
28136
+ return _this5.$nextTick();
28137
+ }).catch(function () {
28138
+ return _this5.$nextTick();
28139
+ }).finally(function () {
28140
+ _this5.searchLoading = false;
28141
+
28142
+ _this5.refreshOption();
28143
+ });
28144
+ } else {
28145
+ this.refreshOption();
28146
+ }
28147
+ }, 350, {
28148
+ trailing: true
28149
+ }),
27954
28150
  isPanelVisible: function isPanelVisible() {
27955
28151
  return this.visiblePanel;
27956
28152
  },
@@ -27988,12 +28184,14 @@ function select_renderOpts(h, _vm) {
27988
28184
  }
27989
28185
  },
27990
28186
  showOptionPanel: function showOptionPanel() {
27991
- var _this4 = this;
28187
+ var _this6 = this;
27992
28188
 
27993
28189
  var loading = this.loading,
27994
- disabled = this.disabled;
28190
+ disabled = this.disabled,
28191
+ filterable = this.filterable;
27995
28192
 
27996
28193
  if (!loading && !disabled) {
28194
+ this.searchList = this.option;
27997
28195
  clearTimeout(this.hidePanelTimeout);
27998
28196
 
27999
28197
  if (!this.inited) {
@@ -28006,38 +28204,48 @@ function select_renderOpts(h, _vm) {
28006
28204
 
28007
28205
  this.isActivated = true;
28008
28206
  this.animatVisible = true;
28207
+
28208
+ if (filterable) {
28209
+ this.refreshOption();
28210
+ }
28211
+
28009
28212
  setTimeout(function () {
28010
- var value = _this4.value,
28011
- multiple = _this4.multiple;
28012
- var currOption = findOption(_this4, multiple && value ? value[0] : value);
28013
- _this4.visiblePanel = true;
28213
+ var value = _this6.value,
28214
+ multiple = _this6.multiple;
28215
+ var currOption = findOption(_this6, multiple && value ? value[0] : value);
28216
+ _this6.visiblePanel = true;
28014
28217
 
28015
28218
  if (currOption) {
28016
- _this4.setCurrentOption(currOption);
28219
+ _this6.setCurrentOption(currOption);
28017
28220
 
28018
- _this4.scrollToOption(currOption);
28221
+ _this6.scrollToOption(currOption);
28019
28222
  }
28223
+
28224
+ _this6.handleFocusSearch();
28020
28225
  }, 10);
28021
28226
  this.updateZindex();
28022
28227
  this.updatePlacement();
28023
28228
  }
28024
28229
  },
28025
28230
  hideOptionPanel: function hideOptionPanel() {
28026
- var _this5 = this;
28231
+ var _this7 = this;
28027
28232
 
28233
+ this.searchValue = '';
28234
+ this.searchLoading = false;
28028
28235
  this.visiblePanel = false;
28029
28236
  this.hidePanelTimeout = setTimeout(function () {
28030
- _this5.animatVisible = false;
28237
+ _this7.animatVisible = false;
28238
+ _this7.searchValue = '';
28031
28239
  }, 350);
28032
28240
  },
28033
28241
  updatePlacement: function updatePlacement() {
28034
- var _this6 = this;
28242
+ var _this8 = this;
28035
28243
 
28036
28244
  return this.$nextTick().then(function () {
28037
- var $refs = _this6.$refs,
28038
- transfer = _this6.transfer,
28039
- placement = _this6.placement,
28040
- panelIndex = _this6.panelIndex;
28245
+ var $refs = _this8.$refs,
28246
+ transfer = _this8.transfer,
28247
+ placement = _this8.placement,
28248
+ panelIndex = _this8.panelIndex;
28041
28249
  var targetElem = $refs.input.$el;
28042
28250
  var panelElem = $refs.panel;
28043
28251
 
@@ -28111,9 +28319,9 @@ function select_renderOpts(h, _vm) {
28111
28319
  }
28112
28320
  }
28113
28321
 
28114
- _this6.panelStyle = panelStyle;
28115
- _this6.panelPlacement = panelPlacement;
28116
- return _this6.$nextTick();
28322
+ _this8.panelStyle = panelStyle;
28323
+ _this8.panelPlacement = panelPlacement;
28324
+ return _this8.$nextTick();
28117
28325
  }
28118
28326
  });
28119
28327
  },
@@ -32756,7 +32964,7 @@ Object.keys(packages_table.methods).forEach(function (name) {
32756
32964
 
32757
32965
  if (editConfig) {
32758
32966
  tableProps.editConfig = Object.assign({}, editConfig, {
32759
- activeMethod: this.handleActiveMethod
32967
+ beforeEditMethod: this.handleBeforeEditMethod
32760
32968
  });
32761
32969
  }
32762
32970
 
@@ -32943,12 +33151,17 @@ Object.keys(packages_table.methods).forEach(function (name) {
32943
33151
  clss.push(rowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(rowClassName) ? rowClassName(params) : rowClassName : '');
32944
33152
  return clss;
32945
33153
  },
32946
- handleActiveMethod: function handleActiveMethod(params) {
33154
+ handleBeforeEditMethod: function handleBeforeEditMethod(params) {
32947
33155
  var editConfig = this.editConfig;
32948
- var activeMethod = editConfig ? editConfig.activeMethod : null;
32949
- return this.pendingRecords.indexOf(params.row) === -1 && (!activeMethod || activeMethod(_objectSpread2(_objectSpread2({}, params), {}, {
32950
- $grid: this
32951
- })));
33156
+ var beforeEditMethod = editConfig ? editConfig.beforeEditMethod || editConfig.activeMethod : null;
33157
+
33158
+ if (this.pendingRecords.indexOf(params.row) === -1) {
33159
+ return !beforeEditMethod || beforeEditMethod(_objectSpread2(_objectSpread2({}, params), {}, {
33160
+ $grid: this
33161
+ }));
33162
+ }
33163
+
33164
+ return false;
32952
33165
  },
32953
33166
  initToolbar: function initToolbar() {
32954
33167
  var _this3 = this;
@@ -36700,6 +36913,7 @@ function renderTitle(h, _vm, item) {
36700
36913
  var compConf = isEnableConf(itemRender) ? v_x_e_table.renderer.get(itemRender.name) : null;
36701
36914
  var params = {
36702
36915
  data: data,
36916
+ field: field,
36703
36917
  property: field,
36704
36918
  item: item,
36705
36919
  $form: _vm
@@ -37745,6 +37959,7 @@ var form_item_renderItem = function renderItem(h, _vm, item, slots) {
37745
37959
  var hasEllipsis = showTitle || showTooltip || showEllipsis;
37746
37960
  var params = {
37747
37961
  data: data,
37962
+ field: field,
37748
37963
  property: field,
37749
37964
  item: item,
37750
37965
  $form: _vm
@@ -39036,6 +39251,8 @@ var Pulldown = Object.assign(pulldown, {
39036
39251
  operError: '发生错误,操作失败!'
39037
39252
  },
39038
39253
  select: {
39254
+ search: '搜索',
39255
+ loadingText: '加载中',
39039
39256
  emptyText: '暂无数据'
39040
39257
  },
39041
39258
  pager: {