vxe-table 4.2.6-beta.3 → 4.2.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 (113) hide show
  1. package/README.md +1 -1
  2. package/README.zh-TW.md +0 -4
  3. package/es/edit/src/hook.js +2 -2
  4. package/es/export/src/export-panel.js +19 -19
  5. package/es/export/src/import-panel.js +9 -9
  6. package/es/filter/src/hook.js +5 -5
  7. package/es/form/src/form-item.js +1 -1
  8. package/es/form/src/render.js +1 -1
  9. package/es/grid/src/grid.js +12 -8
  10. package/es/input/src/input.js +19 -16
  11. package/es/locale/lang/en-US.js +2 -0
  12. package/es/locale/lang/ja-JP.js +2 -0
  13. package/es/locale/lang/zh-CN.js +2 -0
  14. package/es/locale/lang/zh-TC.js +2 -0
  15. package/es/menu/src/hooks.js +0 -6
  16. package/es/select/src/select.js +145 -15
  17. package/es/select/style.css +17 -3
  18. package/es/style.css +1 -1
  19. package/es/style.min.css +1 -1
  20. package/es/table/src/body.js +1 -1
  21. package/es/table/src/cell.js +3 -3
  22. package/es/table/src/columnInfo.js +1 -1
  23. package/es/table/src/table.js +59 -47
  24. package/es/table/src/util.js +2 -2
  25. package/es/toolbar/style.css +11 -9
  26. package/es/tools/log.js +1 -1
  27. package/es/v-x-e-table/index.js +1 -1
  28. package/es/v-x-e-table/src/conf.js +2 -2
  29. package/lib/edit/src/hook.js +2 -2
  30. package/lib/filter/src/hook.js +8 -5
  31. package/lib/filter/src/hook.min.js +1 -1
  32. package/lib/form/src/form-item.js +1 -0
  33. package/lib/form/src/form-item.min.js +1 -1
  34. package/lib/form/src/render.js +1 -0
  35. package/lib/form/src/render.min.js +1 -1
  36. package/lib/grid/src/grid.js +16 -11
  37. package/lib/grid/src/grid.min.js +1 -1
  38. package/lib/index.umd.js +327 -123
  39. package/lib/index.umd.min.js +1 -1
  40. package/lib/input/src/input.js +21 -18
  41. package/lib/input/src/input.min.js +1 -1
  42. package/lib/locale/lang/en-US.js +2 -0
  43. package/lib/locale/lang/en-US.min.js +1 -1
  44. package/lib/locale/lang/en-US.umd.js +2 -0
  45. package/lib/locale/lang/ja-JP.js +2 -0
  46. package/lib/locale/lang/ja-JP.min.js +1 -1
  47. package/lib/locale/lang/ja-JP.umd.js +2 -0
  48. package/lib/locale/lang/zh-CN.js +2 -0
  49. package/lib/locale/lang/zh-CN.min.js +1 -1
  50. package/lib/locale/lang/zh-CN.umd.js +2 -0
  51. package/lib/locale/lang/zh-HK.min.js +1 -1
  52. package/lib/locale/lang/zh-HK.umd.js +2 -0
  53. package/lib/locale/lang/zh-MO.min.js +1 -1
  54. package/lib/locale/lang/zh-MO.umd.js +2 -0
  55. package/lib/locale/lang/zh-TC.js +2 -0
  56. package/lib/locale/lang/zh-TC.min.js +1 -1
  57. package/lib/locale/lang/zh-TC.umd.js +2 -0
  58. package/lib/locale/lang/zh-TW.min.js +1 -1
  59. package/lib/locale/lang/zh-TW.umd.js +2 -0
  60. package/lib/menu/src/hooks.js +0 -6
  61. package/lib/select/src/select.js +194 -16
  62. package/lib/select/src/select.min.js +1 -1
  63. package/lib/select/style/style.css +17 -3
  64. package/lib/select/style/style.min.css +1 -1
  65. package/lib/style.css +1 -1
  66. package/lib/style.min.css +1 -1
  67. package/lib/table/src/body.js +1 -1
  68. package/lib/table/src/body.min.js +1 -1
  69. package/lib/table/src/cell.js +3 -3
  70. package/lib/table/src/cell.min.js +1 -1
  71. package/lib/table/src/columnInfo.js +1 -1
  72. package/lib/table/src/columnInfo.min.js +1 -1
  73. package/lib/table/src/table.js +66 -51
  74. package/lib/table/src/table.min.js +1 -1
  75. package/lib/table/src/util.js +2 -2
  76. package/lib/table/src/util.min.js +1 -1
  77. package/lib/toolbar/style/style.css +11 -9
  78. package/lib/toolbar/style/style.min.css +1 -1
  79. package/lib/tools/log.js +1 -1
  80. package/lib/tools/log.min.js +1 -1
  81. package/lib/v-x-e-table/index.js +1 -1
  82. package/lib/v-x-e-table/index.min.js +1 -1
  83. package/lib/v-x-e-table/src/conf.js +2 -2
  84. package/lib/v-x-e-table/src/conf.min.js +1 -1
  85. package/package.json +1 -1
  86. package/packages/edit/src/hook.ts +2 -2
  87. package/packages/export/src/export-panel.ts +19 -19
  88. package/packages/export/src/import-panel.ts +9 -9
  89. package/packages/filter/src/hook.ts +7 -7
  90. package/packages/form/src/form-item.ts +1 -1
  91. package/packages/form/src/render.ts +1 -1
  92. package/packages/grid/src/grid.ts +15 -9
  93. package/packages/input/src/input.ts +19 -16
  94. package/packages/locale/lang/en-US.ts +2 -0
  95. package/packages/locale/lang/ja-JP.ts +2 -0
  96. package/packages/locale/lang/zh-CN.ts +2 -0
  97. package/packages/locale/lang/zh-TC.ts +2 -0
  98. package/packages/menu/src/hooks.ts +0 -6
  99. package/packages/select/src/select.ts +146 -16
  100. package/packages/table/src/body.ts +1 -1
  101. package/packages/table/src/cell.ts +3 -3
  102. package/packages/table/src/columnInfo.ts +1 -1
  103. package/packages/table/src/table.ts +61 -49
  104. package/packages/table/src/util.ts +4 -4
  105. package/packages/v-x-e-table/src/conf.ts +2 -2
  106. package/styles/select.scss +24 -5
  107. package/styles/toolbar.scss +9 -5
  108. package/styles/variable.scss +0 -4
  109. package/types/form-item.d.ts +16 -1
  110. package/types/form.d.ts +1 -1
  111. package/types/input.d.ts +4 -0
  112. package/types/select.d.ts +19 -4
  113. package/types/table.d.ts +2 -0
@@ -899,16 +899,16 @@ export default defineComponent({
899
899
  let checkboxColumn: any
900
900
  let radioColumn: any
901
901
  let hasFixed: any
902
- const handleFunc = (column: any, index: any, items: any, path?: any, parent?: any) => {
903
- const { id: colid, property, fixed, type, treeNode } = column
902
+ const handleFunc = (column: VxeTableDefines.ColumnInfo, index: number, items: VxeTableDefines.ColumnInfo[], path?: string[], parent?: VxeTableDefines.ColumnInfo) => {
903
+ const { id: colid, field, fixed, type, treeNode } = column
904
904
  const rest = { column, colid, index, items, parent }
905
- if (property) {
905
+ if (field) {
906
906
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
907
- if (fullColumnFieldData[property]) {
908
- warnLog('vxe.error.colRepet', ['field', property])
907
+ if (fullColumnFieldData[field]) {
908
+ warnLog('vxe.error.colRepet', ['field', field])
909
909
  }
910
910
  }
911
- fullColumnFieldData[property] = rest
911
+ fullColumnFieldData[field] = rest
912
912
  }
913
913
  if (!hasFixed && fixed) {
914
914
  hasFixed = fixed
@@ -958,7 +958,7 @@ export default defineComponent({
958
958
  fullColumnIdData[colid] = rest
959
959
  }
960
960
  if (isGroup) {
961
- XEUtils.eachTree(collectColumn, (column: any, index, items, path, parent, nodes) => {
961
+ XEUtils.eachTree(collectColumn, (column, index, items, path, parent, nodes) => {
962
962
  column.level = nodes.length
963
963
  handleFunc(column, index, items, path, parent)
964
964
  })
@@ -1229,7 +1229,7 @@ export default defineComponent({
1229
1229
  }[] = []
1230
1230
  let orderColumns: VxeTableDefines.SortCheckedParams[] = []
1231
1231
  tableFullColumn.forEach((column) => {
1232
- const { property, sortable, order, filters } = column
1232
+ const { field, sortable, order, filters } = column
1233
1233
  if (!allRemoteFilter && filters && filters.length) {
1234
1234
  const valueList: any[] = []
1235
1235
  const itemList: VxeTableDefines.FilterOption[] = []
@@ -1244,7 +1244,7 @@ export default defineComponent({
1244
1244
  }
1245
1245
  }
1246
1246
  if (!allRemoteSort && sortable && order) {
1247
- orderColumns.push({ column, field: property, property, order, sortTime: column.sortTime })
1247
+ orderColumns.push({ column, field, property: field, order, sortTime: column.sortTime })
1248
1248
  }
1249
1249
  })
1250
1250
  if (sortMultiple && chronological && orderColumns.length > 1) {
@@ -1270,7 +1270,7 @@ export default defineComponent({
1270
1270
  } else if (defaultFilterMethod) {
1271
1271
  return itemList.some((item) => defaultFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: $xetable }))
1272
1272
  }
1273
- return valueList.indexOf(XEUtils.get(row, column.property)) > -1
1273
+ return valueList.indexOf(XEUtils.get(row, column.field)) > -1
1274
1274
  })
1275
1275
  }
1276
1276
  if (treeConfig && transform) {
@@ -1779,7 +1779,7 @@ export default defineComponent({
1779
1779
  return new Promise(resolve => {
1780
1780
  if (loadMethod) {
1781
1781
  treeLazyLoadeds.push(row)
1782
- loadMethod({ $table: $xetable, row }).catch(() => []).then((childRecords: any) => {
1782
+ loadMethod({ $table: $xetable, row }).then((childRecords: any) => {
1783
1783
  rest.treeLoaded = true
1784
1784
  XEUtils.remove(treeLazyLoadeds, item => $xetable.eqRow(item, row))
1785
1785
  if (!XEUtils.isArray(childRecords)) {
@@ -2014,11 +2014,22 @@ export default defineComponent({
2014
2014
  nextTick()
2015
2015
  .then(() => tableMethods.recalculate())
2016
2016
  .then(() => {
2017
+ let targetScrollLeft = lastScrollLeft
2018
+ let targetScrollTop = lastScrollTop
2019
+ const sXOpts = computeSXOpts.value
2020
+ const sYOpts = computeSYOpts.value
2021
+ // 是否在更新数据之后自动滚动重置滚动条
2022
+ if (sXOpts.scrollToLeftOnChange) {
2023
+ targetScrollLeft = 0
2024
+ }
2025
+ if (sYOpts.scrollToTopOnChange) {
2026
+ targetScrollTop = 0
2027
+ }
2017
2028
  // 是否变更虚拟滚动
2018
2029
  if (oldScrollYLoad === sYLoad) {
2019
- restoreScrollLocation($xetable, lastScrollLeft, lastScrollTop).then(resolve)
2030
+ restoreScrollLocation($xetable, targetScrollLeft, targetScrollTop).then(resolve)
2020
2031
  } else {
2021
- setTimeout(() => restoreScrollLocation($xetable, lastScrollLeft, lastScrollTop).then(resolve))
2032
+ setTimeout(() => restoreScrollLocation($xetable, targetScrollLeft, targetScrollTop).then(resolve))
2022
2033
  }
2023
2034
  })
2024
2035
  })
@@ -2689,7 +2700,7 @@ export default defineComponent({
2689
2700
  } else {
2690
2701
  rows.forEach((row: any) => {
2691
2702
  visibleColumn.forEach((column) => {
2692
- if (column.property) {
2703
+ if (column.field) {
2693
2704
  setCellValue(row, column, null)
2694
2705
  }
2695
2706
  })
@@ -2745,7 +2756,7 @@ export default defineComponent({
2745
2756
  return !eqCellValue(oRow, row, field as string)
2746
2757
  }
2747
2758
  for (let index = 0, len = visibleColumn.length; index < len; index++) {
2748
- property = visibleColumn[index].property
2759
+ property = visibleColumn[index].field
2749
2760
  if (property && !eqCellValue(oRow, row, property)) {
2750
2761
  return true
2751
2762
  }
@@ -2806,14 +2817,14 @@ export default defineComponent({
2806
2817
  const treeOpts = computeTreeOpts.value
2807
2818
  const checkboxOpts = computeCheckboxOpts.value
2808
2819
  const { transform, children, mapChildren } = treeOpts
2809
- const { checkField: property } = checkboxOpts
2820
+ const { checkField } = checkboxOpts
2810
2821
  let rowList = []
2811
2822
  const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData)
2812
- if (property) {
2823
+ if (checkField) {
2813
2824
  if (treeConfig) {
2814
- rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, property), { children: transform ? mapChildren : children })
2825
+ rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildren : children })
2815
2826
  } else {
2816
- rowList = currTableData.filter((row) => XEUtils.get(row, property))
2827
+ rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
2817
2828
  }
2818
2829
  } else {
2819
2830
  const { selection } = reactData
@@ -2848,8 +2859,9 @@ export default defineComponent({
2848
2859
  * 根据行的唯一主键获取行
2849
2860
  * @param {String/Number} rowid 行主键
2850
2861
  */
2851
- getRowById (rowid) {
2862
+ getRowById (cellValue) {
2852
2863
  const { fullDataRowIdData } = internalData
2864
+ const rowid = XEUtils.eqNull(cellValue) ? '' : encodeURIComponent(cellValue)
2853
2865
  return fullDataRowIdData[rowid] ? fullDataRowIdData[rowid].row : null
2854
2866
  },
2855
2867
  /**
@@ -3042,9 +3054,9 @@ export default defineComponent({
3042
3054
  isCheckedByCheckboxRow (row) {
3043
3055
  const { selection } = reactData
3044
3056
  const checkboxOpts = computeCheckboxOpts.value
3045
- const { checkField: property } = checkboxOpts
3046
- if (property) {
3047
- return XEUtils.get(row, property)
3057
+ const { checkField } = checkboxOpts
3058
+ if (checkField) {
3059
+ return XEUtils.get(row, checkField)
3048
3060
  }
3049
3061
  return $xetable.findRowIndexOf(selection, row) > -1
3050
3062
  },
@@ -3069,7 +3081,7 @@ export default defineComponent({
3069
3081
  const { afterFullData, checkboxReserveRowMap } = internalData
3070
3082
  const treeOpts = computeTreeOpts.value
3071
3083
  const checkboxOpts = computeCheckboxOpts.value
3072
- const { checkField: property, reserve, checkStrictly, checkMethod } = checkboxOpts
3084
+ const { checkField, reserve, checkStrictly, checkMethod } = checkboxOpts
3073
3085
  let selectRows: any[] = []
3074
3086
  const beforeSelection = treeConfig ? [] : selection.filter((row) => $xetable.findRowIndexOf(afterFullData, row) === -1)
3075
3087
  if (checkStrictly) {
@@ -3079,13 +3091,13 @@ export default defineComponent({
3079
3091
  * 绑定属性方式(高性能,有污染)
3080
3092
  * 必须在行数据存在对应的属性,否则将不响应
3081
3093
  */
3082
- if (property) {
3094
+ if (checkField) {
3083
3095
  const checkValFn = (row: any) => {
3084
3096
  if (!checkMethod || checkMethod({ row })) {
3085
3097
  if (value) {
3086
3098
  selectRows.push(row)
3087
3099
  }
3088
- XEUtils.set(row, property, value)
3100
+ XEUtils.set(row, checkField, value)
3089
3101
  }
3090
3102
  }
3091
3103
  // 如果存在选中方法
@@ -3157,7 +3169,7 @@ export default defineComponent({
3157
3169
  afterFullData.forEach((row) => handleCheckboxReserveRow(row, false))
3158
3170
  }
3159
3171
  }
3160
- reactData.selection = property ? [] : beforeSelection.concat(selectRows)
3172
+ reactData.selection = checkField ? [] : beforeSelection.concat(selectRows)
3161
3173
  }
3162
3174
  reactData.treeIndeterminates = []
3163
3175
  tablePrivateMethods.checkSelectionStatus()
@@ -3253,12 +3265,12 @@ export default defineComponent({
3253
3265
  const { tableFullData } = internalData
3254
3266
  const treeOpts = computeTreeOpts.value
3255
3267
  const checkboxOpts = computeCheckboxOpts.value
3256
- const { checkField: property, reserve } = checkboxOpts
3257
- if (property) {
3268
+ const { checkField, reserve } = checkboxOpts
3269
+ if (checkField) {
3258
3270
  if (treeConfig) {
3259
- XEUtils.eachTree(tableFullData, item => XEUtils.set(item, property, false), treeOpts)
3271
+ XEUtils.eachTree(tableFullData, item => XEUtils.set(item, checkField, false), treeOpts)
3260
3272
  } else {
3261
- tableFullData.forEach((item) => XEUtils.set(item, property, false))
3273
+ tableFullData.forEach((item) => XEUtils.set(item, checkField, false))
3262
3274
  }
3263
3275
  }
3264
3276
  if (reserve) {
@@ -3456,9 +3468,9 @@ export default defineComponent({
3456
3468
  const sortList: VxeTableDefines.SortCheckedParams[] = []
3457
3469
  const { tableFullColumn } = internalData
3458
3470
  tableFullColumn.forEach((column) => {
3459
- const { property, order } = column
3471
+ const { field, order } = column
3460
3472
  if (column.sortable && order) {
3461
- sortList.push({ column, field: property, property, order, sortTime: column.sortTime })
3473
+ sortList.push({ column, field, property: field, order, sortTime: column.sortTime })
3462
3474
  }
3463
3475
  })
3464
3476
  if (multiple && chronological && sortList.length > 1) {
@@ -3480,7 +3492,7 @@ export default defineComponent({
3480
3492
  visible: false
3481
3493
  })
3482
3494
  if (visible) {
3483
- $xetable.dispatchEvent('filter-visible', { column, property: column.property, filterList: $xetable.getCheckedFilters(), visible: false }, null)
3495
+ $xetable.dispatchEvent('filter-visible', { column, property: column.field, field: column.field, filterList: $xetable.getCheckedFilters(), visible: false }, null)
3484
3496
  }
3485
3497
  return nextTick()
3486
3498
  },
@@ -4567,8 +4579,8 @@ export default defineComponent({
4567
4579
  const checkboxOpts = computeCheckboxOpts.value
4568
4580
  const rowkey = getRowkey($xetable)
4569
4581
  internalData.tableFullColumn.forEach(column => {
4570
- const { property, editRender } = column
4571
- if (property && !XEUtils.has(record, property)) {
4582
+ const { field, editRender } = column
4583
+ if (field && !XEUtils.has(record, field)) {
4572
4584
  let cellValue = null
4573
4585
  if (editRender) {
4574
4586
  const { defaultValue } = editRender
@@ -4578,7 +4590,7 @@ export default defineComponent({
4578
4590
  cellValue = defaultValue
4579
4591
  }
4580
4592
  }
4581
- XEUtils.set(record, property, cellValue)
4593
+ XEUtils.set(record, field, cellValue)
4582
4594
  }
4583
4595
  })
4584
4596
  const otherFields: (string | undefined)[] = [radioOpts.labelField, checkboxOpts.checkField, checkboxOpts.labelField, expandOpts.labelField]
@@ -4851,19 +4863,19 @@ export default defineComponent({
4851
4863
  const { afterFullData } = internalData
4852
4864
  const treeOpts = computeTreeOpts.value
4853
4865
  const checkboxOpts = computeCheckboxOpts.value
4854
- const { checkField: property, checkStrictly, checkMethod } = checkboxOpts
4855
- if (property) {
4866
+ const { checkField, checkStrictly, checkMethod } = checkboxOpts
4867
+ if (checkField) {
4856
4868
  if (treeConfig && !checkStrictly) {
4857
4869
  if (value === -1) {
4858
4870
  if ($xetable.findRowIndexOf(treeIndeterminates, row) === -1) {
4859
4871
  treeIndeterminates.push(row)
4860
4872
  }
4861
- XEUtils.set(row, property, false)
4873
+ XEUtils.set(row, checkField, false)
4862
4874
  } else {
4863
4875
  // 更新子节点状态
4864
4876
  XEUtils.eachTree([row], (item) => {
4865
4877
  if ($xetable.eqRow(item, row) || (!checkMethod || checkMethod({ row: item }))) {
4866
- XEUtils.set(item, property, value)
4878
+ XEUtils.set(item, checkField, value)
4867
4879
  XEUtils.remove(treeIndeterminates, half => half === item)
4868
4880
  handleCheckboxReserveRow(row, value)
4869
4881
  }
@@ -4878,14 +4890,14 @@ export default defineComponent({
4878
4890
  if (indeterminatesItem) {
4879
4891
  parentStatus = -1
4880
4892
  } else {
4881
- const selectItems = matchObj.items.filter(item => XEUtils.get(item, property))
4893
+ const selectItems = matchObj.items.filter(item => XEUtils.get(item, checkField))
4882
4894
  parentStatus = selectItems.filter(item => $xetable.findRowIndexOf(vItems, item) > -1).length === vItems.length ? true : (selectItems.length || value === -1 ? -1 : false)
4883
4895
  }
4884
4896
  return tablePrivateMethods.handleSelectRow({ row: matchObj.parent }, parentStatus)
4885
4897
  }
4886
4898
  } else {
4887
4899
  if (!checkMethod || checkMethod({ row })) {
4888
- XEUtils.set(row, property, value)
4900
+ XEUtils.set(row, checkField, value)
4889
4901
  handleCheckboxReserveRow(row, value)
4890
4902
  }
4891
4903
  }
@@ -5154,9 +5166,9 @@ export default defineComponent({
5154
5166
  handleToggleCheckRowEvent (evnt, params) {
5155
5167
  const { selection } = reactData
5156
5168
  const checkboxOpts = computeCheckboxOpts.value
5157
- const { checkField: property } = checkboxOpts
5169
+ const { checkField } = checkboxOpts
5158
5170
  const { row } = params
5159
- const value = property ? !XEUtils.get(row, property) : $xetable.findRowIndexOf(selection, row) === -1
5171
+ const value = checkField ? !XEUtils.get(row, checkField) : $xetable.findRowIndexOf(selection, row) === -1
5160
5172
  if (evnt) {
5161
5173
  tablePrivateMethods.triggerCheckRowEvent(evnt, params, value)
5162
5174
  } else {
@@ -5266,14 +5278,14 @@ export default defineComponent({
5266
5278
  */
5267
5279
  triggerSortEvent (evnt, column, order) {
5268
5280
  const sortOpts = computeSortOpts.value
5269
- const property = column.property
5270
- if (column.sortable) {
5281
+ const { field, sortable } = column
5282
+ if (sortable) {
5271
5283
  if (!order || column.order === order) {
5272
5284
  tableMethods.clearSort(sortOpts.multiple ? column : null)
5273
5285
  } else {
5274
- tableMethods.sort({ field: property, order })
5286
+ tableMethods.sort({ field, order })
5275
5287
  }
5276
- const params = { column, property, order: column.order, sortList: tableMethods.getSortColumns() }
5288
+ const params = { column, field, property: field, order: column.order, sortList: tableMethods.getSortColumns() }
5277
5289
  tableMethods.dispatchEvent('sort-change', params, evnt)
5278
5290
  }
5279
5291
  },
@@ -104,12 +104,12 @@ export function toTreePathSeq (path: any[]) {
104
104
  return path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('')
105
105
  }
106
106
 
107
- export function getCellValue (row: any, column: any) {
108
- return XEUtils.get(row, column.property)
107
+ export function getCellValue (row: any, column: VxeTableDefines.ColumnInfo) {
108
+ return XEUtils.get(row, column.field)
109
109
  }
110
110
 
111
- export function setCellValue (row: any, column: any, value: any) {
112
- return XEUtils.set(row, column.property, value)
111
+ export function setCellValue (row: any, column: VxeTableDefines.ColumnInfo, value: any) {
112
+ return XEUtils.set(row, column.field, value)
113
113
  }
114
114
 
115
115
  export function getPropClass (property: any, params: any) {
@@ -266,8 +266,8 @@ const GlobalConfig: VXETableGlobalConfig = {
266
266
  // parseFormat: 'yyyy-MM-dd HH:mm:ss.SSS',
267
267
  // labelFormat: '',
268
268
  // valueFormat: '',
269
- minDate: new Date(1900, 0, 1),
270
- maxDate: new Date(2100, 0, 1),
269
+ startDate: new Date(1900, 0, 1),
270
+ endDate: new Date(2100, 0, 1),
271
271
  startDay: 1,
272
272
  selectDay: 1,
273
273
  digits: 2,
@@ -33,9 +33,11 @@
33
33
  }
34
34
  }
35
35
  &.is--active {
36
- & > .vxe-input {
37
- .vxe-input--inner {
38
- border: 1px solid $vxe-primary-color;
36
+ &:not(.is--filter) {
37
+ & > .vxe-input {
38
+ .vxe-input--inner {
39
+ border: 1px solid $vxe-primary-color;
40
+ }
39
41
  }
40
42
  }
41
43
  }
@@ -76,7 +78,15 @@
76
78
  }
77
79
  }
78
80
 
81
+ .vxe-select-filter--wrapper {
82
+ display: block;
83
+ .vxe-select-filter--input {
84
+ width: 100%;
85
+ }
86
+ }
87
+
79
88
  .vxe-select-option--wrapper {
89
+ position: relative;
80
90
  overflow-x: hidden;
81
91
  overflow-y: auto;
82
92
  padding: 4px 0;
@@ -102,7 +112,7 @@
102
112
  }
103
113
 
104
114
  .vxe-select-option {
105
- padding: 0 10px;
115
+ padding: 0 0.6em;
106
116
  max-width: 600px;
107
117
  white-space: nowrap;
108
118
  overflow: hidden;
@@ -125,8 +135,13 @@
125
135
  }
126
136
  }
127
137
 
138
+ .vxe-select--search-icon {
139
+ margin-right: 0.5em;
140
+ }
141
+
142
+ .vxe-select--search-loading,
128
143
  .vxe-select--empty-placeholder {
129
- padding: 0 10px;
144
+ padding: 0 0.6em;
130
145
  text-align: center;
131
146
  color: $vxe-select-empty-color;
132
147
  }
@@ -152,6 +167,7 @@
152
167
  }
153
168
  .vxe-optgroup--title,
154
169
  .vxe-select-option,
170
+ .vxe-select--search-loading,
155
171
  .vxe-select--empty-placeholder {
156
172
  line-height: $vxe-select-option-height-default;
157
173
  }
@@ -162,6 +178,7 @@
162
178
  }
163
179
  .vxe-optgroup--title,
164
180
  .vxe-select-option,
181
+ .vxe-select--search-loading,
165
182
  .vxe-select--empty-placeholder {
166
183
  line-height: $vxe-select-option-height-medium;
167
184
  }
@@ -173,6 +190,7 @@
173
190
  }
174
191
  .vxe-optgroup--title,
175
192
  .vxe-select-option,
193
+ .vxe-select--search-loading,
176
194
  .vxe-select--empty-placeholder {
177
195
  line-height: $vxe-select-option-height-small;
178
196
  }
@@ -184,6 +202,7 @@
184
202
  }
185
203
  .vxe-optgroup--title,
186
204
  .vxe-select-option,
205
+ .vxe-select--search-loading,
187
206
  .vxe-select--empty-placeholder {
188
207
  line-height: $vxe-select-option-height-mini;
189
208
  }
@@ -7,6 +7,7 @@
7
7
  display: flex;
8
8
  flex-direction: row;
9
9
  align-items: center;
10
+ padding: 0.6em 0;
10
11
  color: $vxe-font-color;
11
12
  font-family: $vxe-font-family;
12
13
  background-color: $vxe-toolbar-background-color;
@@ -64,12 +65,19 @@
64
65
  justify-content: center;
65
66
  }
66
67
  }
68
+ .vxe-buttons--wrapper,
67
69
  .vxe-tools--wrapper,
68
70
  .vxe-tools--operate {
69
71
  display: flex;
70
- flex-shrink: 0;
71
72
  align-items: center;
72
73
  }
74
+ .vxe-buttons--wrapper,
75
+ .vxe-tools--wrapper {
76
+ flex-wrap: wrap;
77
+ }
78
+ .vxe-tools--operate {
79
+ flex-shrink: 0;
80
+ }
73
81
  .vxe-custom--wrapper {
74
82
  position: relative;
75
83
  margin-left: 0.8em;
@@ -171,7 +179,6 @@
171
179
 
172
180
  .vxe-toolbar {
173
181
  font-size: $vxe-font-size;
174
- height: $vxe-toolbar-height-default;
175
182
  .vxe-custom--option {
176
183
  & > .vxe-checkbox--icon {
177
184
  font-size: $vxe-checkbox-font-size-default;
@@ -179,7 +186,6 @@
179
186
  }
180
187
  &.size--medium {
181
188
  font-size: $vxe-font-size-medium;
182
- height: $vxe-toolbar-height-medium;
183
189
  .vxe-custom--option {
184
190
  & > .vxe-checkbox--icon {
185
191
  font-size: $vxe-checkbox-font-size-medium;
@@ -188,7 +194,6 @@
188
194
  }
189
195
  &.size--small {
190
196
  font-size: $vxe-font-size-small;
191
- height: $vxe-toolbar-height-small;
192
197
  .vxe-custom--option {
193
198
  & > .vxe-checkbox--icon {
194
199
  font-size: $vxe-checkbox-font-size-small;
@@ -197,7 +202,6 @@
197
202
  }
198
203
  &.size--mini {
199
204
  font-size: $vxe-font-size-mini;
200
- height: $vxe-toolbar-height-mini;
201
205
  .vxe-custom--option {
202
206
  & > .vxe-checkbox--icon {
203
207
  font-size: $vxe-checkbox-font-size-mini;
@@ -121,10 +121,6 @@ $vxe-grid-maximize-background-color: #fff !default;
121
121
 
122
122
  /*toolbar*/
123
123
  $vxe-toolbar-background-color: #fff !default;
124
- $vxe-toolbar-height-default: 52px !default;
125
- $vxe-toolbar-height-medium: 50px !default;
126
- $vxe-toolbar-height-small: 48px !default;
127
- $vxe-toolbar-height-mini: 46px !default;
128
124
  $vxe-toolbar-custom-active-background-color: #D9DADB !default;
129
125
  $vxe-toolbar-panel-background-color: #fff !default;
130
126
 
@@ -98,6 +98,10 @@ export namespace VxeFormItemPropTypes {
98
98
  $form: VxeFormConstructor
99
99
  data: any
100
100
  item: VxeFormDefines.ItemInfo
101
+ field: string
102
+ /**
103
+ * @deprecated
104
+ */
101
105
  property: string
102
106
  }
103
107
  export type ClassName = string | ((params: ClassNameParams) => string)
@@ -164,6 +168,10 @@ export interface FormItemTitleRenderParams {
164
168
  $form: VxeFormConstructor
165
169
  data: any
166
170
  item: VxeFormDefines.ItemInfo
171
+ field: string
172
+ /**
173
+ * @deprecated
174
+ */
167
175
  property: string
168
176
  }
169
177
 
@@ -174,6 +182,10 @@ export interface FormItemContentRenderParams {
174
182
  $form: VxeFormConstructor
175
183
  data: any
176
184
  item: VxeFormDefines.ItemInfo
185
+ field: string
186
+ /**
187
+ * @deprecated
188
+ */
177
189
  property: string
178
190
  }
179
191
 
@@ -184,6 +196,10 @@ export interface FormItemVisibleParams {
184
196
  $form: VxeFormConstructor
185
197
  data: any
186
198
  item: VxeFormDefines.ItemInfo
199
+ field: string
200
+ /**
201
+ * @deprecated
202
+ */
187
203
  property: string
188
204
  }
189
205
 
@@ -196,7 +212,6 @@ export interface FormItemResetParams {
196
212
  item: VxeFormDefines.ItemInfo
197
213
  field: string
198
214
  /**
199
- * 已废弃,该属性被 field 替换
200
215
  * @deprecated
201
216
  */
202
217
  property: string
package/types/form.d.ts CHANGED
@@ -265,7 +265,7 @@ export namespace VxeFormDefines {
265
265
  data: any
266
266
  field: string
267
267
  /**
268
- * 已废弃,该属性被 field 替换
268
+ * @deprecated
269
269
  */
270
270
  property: string
271
271
  }
package/types/input.d.ts CHANGED
@@ -65,6 +65,8 @@ export namespace VxeInputPropTypes {
65
65
  export type Exponential = boolean
66
66
  export type Controls = boolean
67
67
  export type Digits = string | number
68
+ export type StartDate = string | number | Date
69
+ export type EndDate = string | number | Date
68
70
  export type MinDate = string | number | Date
69
71
  export type MaxDate = string | number | Date
70
72
  export type StartDay = 0 | 1 | 2 | 3 | 4 | 5 | 6
@@ -110,6 +112,8 @@ export type VxeInputProps = {
110
112
  digits?: VxeInputPropTypes.Digits
111
113
 
112
114
  // date、week、month、quarter、year
115
+ startDate?: VxeInputPropTypes.StartDate
116
+ endDate?: VxeInputPropTypes.EndDate
113
117
  minDate?: VxeInputPropTypes.MinDate
114
118
  maxDate?: VxeInputPropTypes.MaxDate
115
119
  /**
package/types/select.d.ts CHANGED
@@ -28,17 +28,24 @@ export interface VxeSelectPrivateRef extends SelectPrivateRef { }
28
28
  export interface SelectReactData {
29
29
  inited: boolean
30
30
  staticOptions: VxeSelectDefines.OptionInfo[]
31
- fullGroupList: VxeSelectPropTypes.OptionGroups
32
- fullOptionList: VxeOptionProps[]
33
- visibleGroupList: VxeSelectPropTypes.OptionGroups
34
- visibleOptionList: VxeOptionProps[]
31
+ fullGroupList: any[]
32
+ fullOptionList: any[]
33
+ visibleGroupList: any[]
34
+ visibleOptionList: any[]
35
+ remoteValueList: {
36
+ key: string
37
+ result: any
38
+ }[]
35
39
  panelIndex: number
36
40
  panelStyle: VNodeStyle
37
41
  panelPlacement: any
42
+ currentOption: any
38
43
  currentValue: any
39
44
  visiblePanel: boolean
40
45
  animatVisible: boolean
41
46
  isActivated: boolean
47
+ searchValue: string,
48
+ searchLoading: boolean
42
49
  }
43
50
 
44
51
  export type VxeSelectProps = {
@@ -59,6 +66,10 @@ export type VxeSelectProps = {
59
66
  optionGroupProps?: VxeSelectPropTypes.OptionGroupProps
60
67
  optionConfig?: VxeSelectPropTypes.OptionConfig
61
68
  emptyText?: VxeSelectPropTypes.EmptyText
69
+ filterable?: VxeSelectPropTypes.Filterable
70
+ filterMethod?: VxeSelectPropTypes.FilterMethod
71
+ remote?: VxeSelectPropTypes.Remote
72
+ remoteMethod?: VxeSelectPropTypes.RemoteMethod
62
73
  /**
63
74
  * 已废弃,被 optionConfig.keyField 替换
64
75
  * @deprecated
@@ -88,6 +99,10 @@ export namespace VxeSelectPropTypes {
88
99
  export type OptionProps = VxeGlobalRendererHandles.RenderOptionProps
89
100
  export type OptionGroups = VxeSelectDefines.SelectOptgroups[]
90
101
  export type OptionGroupProps = VxeGlobalRendererHandles.RenderOptionGroupProps
102
+ export type Filterable = boolean
103
+ export type FilterMethod = (params: { group: any, option: any, searchValue: string }) => boolean
104
+ export type Remote = boolean
105
+ export type RemoteMethod = (params: { searchValue: string }) => Promise<void> | void
91
106
  /**
92
107
  * 选项配置项
93
108
  */
package/types/table.d.ts CHANGED
@@ -1932,6 +1932,7 @@ export namespace VxeTablePropTypes {
1932
1932
  gt?: number
1933
1933
  oSize?: number
1934
1934
  enabled?: boolean
1935
+ scrollToLeftOnChange?: boolean
1935
1936
  }
1936
1937
  export interface SXOpts extends ScrollX {
1937
1938
  gt: number
@@ -1943,6 +1944,7 @@ export namespace VxeTablePropTypes {
1943
1944
  gt?: number
1944
1945
  oSize?: number
1945
1946
  enabled?: boolean
1947
+ scrollToTopOnChange?: boolean
1946
1948
  /**
1947
1949
  * @deprecated 请使用 row-config.height
1948
1950
  */