vxe-pc-ui 4.20.16 → 4.20.18
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.
- package/dist/all.esm.js +201 -33
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/alert/style.css +22 -9
- package/es/alert/style.min.css +1 -1
- package/es/backtop/style.css +22 -13
- package/es/backtop/style.min.css +1 -1
- package/es/badge/style.css +2 -0
- package/es/badge/style.min.css +1 -1
- package/es/button/style.css +1 -2
- package/es/button/style.min.css +1 -1
- package/es/calendar/style.css +20 -13
- package/es/calendar/style.min.css +1 -1
- package/es/cascader/style.css +10 -0
- package/es/cascader/style.min.css +1 -1
- package/es/collapse/style.css +31 -21
- package/es/collapse/style.min.css +1 -1
- package/es/context-menu/style.css +6 -0
- package/es/context-menu/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/style.css +10 -0
- package/es/icon-picker/style.min.css +1 -1
- package/es/language/ar-EG.js +4 -0
- package/es/language/de-DE.js +4 -0
- package/es/language/en-US.js +4 -0
- package/es/language/es-ES.js +4 -0
- package/es/language/fr-FR.js +7 -3
- package/es/language/hu-HU.js +4 -0
- package/es/language/hy-AM.js +4 -0
- package/es/language/id-ID.js +4 -0
- package/es/language/it-IT.js +4 -0
- package/es/language/ja-JP.js +4 -0
- package/es/language/ko-KR.js +4 -0
- package/es/language/ms-MY.js +4 -0
- package/es/language/nb-NO.js +4 -0
- package/es/language/pt-BR.js +4 -0
- package/es/language/ru-RU.js +4 -0
- package/es/language/th-TH.js +4 -0
- package/es/language/ug-CN.js +4 -0
- package/es/language/uk-UA.js +4 -0
- package/es/language/uz-UZ.js +4 -0
- package/es/language/vi-VN.js +4 -0
- package/es/language/zh-CHT.js +4 -0
- package/es/language/zh-CN.js +4 -0
- package/es/layout-container/style.css +6 -0
- package/es/layout-container/style.min.css +1 -1
- package/es/link/style.css +22 -10
- package/es/link/style.min.css +1 -1
- package/es/rate/style.css +22 -13
- package/es/rate/style.min.css +1 -1
- package/es/select/src/select.js +13 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +174 -29
- package/es/table-select/style.css +43 -16
- package/es/table-select/style.min.css +1 -1
- package/es/tabs/style.css +50 -0
- package/es/tabs/style.min.css +1 -1
- package/es/text/style.css +22 -10
- package/es/text/style.min.css +1 -1
- package/es/tip/style.css +20 -13
- package/es/tip/style.min.css +1 -1
- package/es/tree/style.css +6 -0
- package/es/tree/style.min.css +1 -1
- package/es/tree-select/src/tree-select.js +1 -1
- package/es/ui/index.js +9 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-alert/style.css +22 -9
- package/es/vxe-alert/style.min.css +1 -1
- package/es/vxe-backtop/style.css +22 -13
- package/es/vxe-backtop/style.min.css +1 -1
- package/es/vxe-badge/style.css +2 -0
- package/es/vxe-badge/style.min.css +1 -1
- package/es/vxe-button/style.css +1 -2
- package/es/vxe-button/style.min.css +1 -1
- package/es/vxe-calendar/style.css +20 -13
- package/es/vxe-calendar/style.min.css +1 -1
- package/es/vxe-cascader/style.css +10 -0
- package/es/vxe-cascader/style.min.css +1 -1
- package/es/vxe-collapse/style.css +31 -21
- package/es/vxe-collapse/style.min.css +1 -1
- package/es/vxe-context-menu/style.css +6 -0
- package/es/vxe-context-menu/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +10 -0
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-layout-container/style.css +6 -0
- package/es/vxe-layout-container/style.min.css +1 -1
- package/es/vxe-link/style.css +22 -10
- package/es/vxe-link/style.min.css +1 -1
- package/es/vxe-rate/style.css +22 -13
- package/es/vxe-rate/style.min.css +1 -1
- package/es/vxe-table-select/style.css +43 -16
- package/es/vxe-table-select/style.min.css +1 -1
- package/es/vxe-tabs/style.css +50 -0
- package/es/vxe-tabs/style.min.css +1 -1
- package/es/vxe-text/style.css +22 -10
- package/es/vxe-text/style.min.css +1 -1
- package/es/vxe-tip/style.css +20 -13
- package/es/vxe-tip/style.min.css +1 -1
- package/es/vxe-tree/style.css +6 -0
- package/es/vxe-tree/style.min.css +1 -1
- package/lib/alert/style/style.css +22 -9
- package/lib/alert/style/style.min.css +1 -1
- package/lib/backtop/style/style.css +22 -13
- package/lib/backtop/style/style.min.css +1 -1
- package/lib/badge/style/style.css +2 -0
- package/lib/badge/style/style.min.css +1 -1
- package/lib/button/style/style.css +1 -2
- package/lib/button/style/style.min.css +1 -1
- package/lib/calendar/style/style.css +20 -13
- package/lib/calendar/style/style.min.css +1 -1
- package/lib/cascader/style/style.css +10 -0
- package/lib/cascader/style/style.min.css +1 -1
- package/lib/collapse/style/style.css +31 -21
- package/lib/collapse/style/style.min.css +1 -1
- package/lib/context-menu/style/style.css +6 -0
- package/lib/context-menu/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/style/style.css +10 -0
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +220 -43
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +4 -0
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +4 -0
- package/lib/language/de-DE.js +4 -0
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +4 -0
- package/lib/language/en-US.js +4 -0
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +4 -0
- package/lib/language/es-ES.js +4 -0
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +4 -0
- package/lib/language/fr-FR.js +4 -0
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +4 -0
- package/lib/language/hu-HU.js +4 -0
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +4 -0
- package/lib/language/hy-AM.js +4 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +4 -0
- package/lib/language/id-ID.js +4 -0
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +4 -0
- package/lib/language/it-IT.js +4 -0
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +4 -0
- package/lib/language/ja-JP.js +4 -0
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +4 -0
- package/lib/language/ko-KR.js +4 -0
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +4 -0
- package/lib/language/ms-MY.js +4 -0
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +4 -0
- package/lib/language/nb-NO.js +4 -0
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +4 -0
- package/lib/language/pt-BR.js +4 -0
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +4 -0
- package/lib/language/ru-RU.js +4 -0
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +4 -0
- package/lib/language/th-TH.js +4 -0
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +4 -0
- package/lib/language/ug-CN.js +4 -0
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +4 -0
- package/lib/language/uk-UA.js +4 -0
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +4 -0
- package/lib/language/uz-UZ.js +4 -0
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +4 -0
- package/lib/language/vi-VN.js +4 -0
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +4 -0
- package/lib/language/zh-CHT.js +4 -0
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +4 -0
- package/lib/language/zh-CN.js +4 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +4 -0
- package/lib/layout-container/style/style.css +6 -0
- package/lib/layout-container/style/style.min.css +1 -1
- package/lib/link/style/style.css +22 -10
- package/lib/link/style/style.min.css +1 -1
- package/lib/rate/style/style.css +22 -13
- package/lib/rate/style/style.min.css +1 -1
- package/lib/select/src/select.js +11 -8
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +193 -32
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/table-select/style/style.css +43 -16
- package/lib/table-select/style/style.min.css +1 -1
- package/lib/tabs/style/style.css +50 -0
- package/lib/tabs/style/style.min.css +1 -1
- package/lib/text/style/style.css +22 -10
- package/lib/text/style/style.min.css +1 -1
- package/lib/tip/style/style.css +20 -13
- package/lib/tip/style/style.min.css +1 -1
- package/lib/tree/style/style.css +6 -0
- package/lib/tree/style/style.min.css +1 -1
- package/lib/tree-select/src/tree-select.js +1 -1
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +9 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-alert/style/style.css +22 -9
- package/lib/vxe-alert/style/style.min.css +1 -1
- package/lib/vxe-backtop/style/style.css +22 -13
- package/lib/vxe-backtop/style/style.min.css +1 -1
- package/lib/vxe-badge/style/style.css +2 -0
- package/lib/vxe-badge/style/style.min.css +1 -1
- package/lib/vxe-button/style/style.css +1 -2
- package/lib/vxe-button/style/style.min.css +1 -1
- package/lib/vxe-calendar/style/style.css +20 -13
- package/lib/vxe-calendar/style/style.min.css +1 -1
- package/lib/vxe-cascader/style/style.css +10 -0
- package/lib/vxe-cascader/style/style.min.css +1 -1
- package/lib/vxe-collapse/style/style.css +31 -21
- package/lib/vxe-collapse/style/style.min.css +1 -1
- package/lib/vxe-context-menu/style/style.css +6 -0
- package/lib/vxe-context-menu/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +10 -0
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-layout-container/style/style.css +6 -0
- package/lib/vxe-layout-container/style/style.min.css +1 -1
- package/lib/vxe-link/style/style.css +22 -10
- package/lib/vxe-link/style/style.min.css +1 -1
- package/lib/vxe-rate/style/style.css +22 -13
- package/lib/vxe-rate/style/style.min.css +1 -1
- package/lib/vxe-table-select/style/style.css +43 -16
- package/lib/vxe-table-select/style/style.min.css +1 -1
- package/lib/vxe-tabs/style/style.css +50 -0
- package/lib/vxe-tabs/style/style.min.css +1 -1
- package/lib/vxe-text/style/style.css +22 -10
- package/lib/vxe-text/style/style.min.css +1 -1
- package/lib/vxe-tip/style/style.css +20 -13
- package/lib/vxe-tip/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +6 -0
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/language/ar-EG.ts +4 -0
- package/packages/language/de-DE.ts +4 -0
- package/packages/language/en-US.ts +4 -0
- package/packages/language/es-ES.ts +4 -0
- package/packages/language/fr-FR.ts +907 -903
- package/packages/language/hu-HU.ts +4 -0
- package/packages/language/hy-AM.ts +4 -0
- package/packages/language/id-ID.ts +4 -0
- package/packages/language/it-IT.ts +4 -0
- package/packages/language/ja-JP.ts +4 -0
- package/packages/language/ko-KR.ts +4 -0
- package/packages/language/ms-MY.ts +4 -0
- package/packages/language/nb-NO.ts +4 -0
- package/packages/language/pt-BR.ts +4 -0
- package/packages/language/ru-RU.ts +4 -0
- package/packages/language/th-TH.ts +4 -0
- package/packages/language/ug-CN.ts +4 -0
- package/packages/language/uk-UA.ts +4 -0
- package/packages/language/uz-UZ.ts +4 -0
- package/packages/language/vi-VN.ts +4 -0
- package/packages/language/zh-CHT.ts +4 -0
- package/packages/language/zh-CN.ts +4 -0
- package/packages/select/src/select.ts +13 -2
- package/packages/table-select/src/table-select.ts +185 -30
- package/packages/tree-select/src/tree-select.ts +1 -1
- package/packages/ui/index.ts +8 -0
- package/styles/components/alert.scss +24 -9
- package/styles/components/backtop.scss +24 -13
- package/styles/components/badge.scss +4 -1
- package/styles/components/button.scss +1 -2
- package/styles/components/calendar.scss +21 -13
- package/styles/components/cascader.scss +8 -0
- package/styles/components/collapse.scss +32 -21
- package/styles/components/context-menu.scss +6 -0
- package/styles/components/icon-picker.scss +8 -0
- package/styles/components/layout-container.scss +6 -0
- package/styles/components/link.scss +24 -12
- package/styles/components/rate.scss +24 -13
- package/styles/components/table-select.scss +39 -13
- package/styles/components/tabs.scss +6 -0
- package/styles/components/text.scss +24 -12
- package/styles/components/tip.scss +21 -13
- package/styles/components/tree.scss +6 -0
- package/types/components/select.d.ts +12 -2
- package/types/components/table-select.d.ts +53 -3
- /package/es/icon/{iconfont.1792671792434.ttf → iconfont.1792740965539.ttf} +0 -0
- /package/es/icon/{iconfont.1792671792434.woff → iconfont.1792740965539.woff} +0 -0
- /package/es/icon/{iconfont.1792671792434.woff2 → iconfont.1792740965539.woff2} +0 -0
- /package/es/{iconfont.1792671792434.ttf → iconfont.1792740965539.ttf} +0 -0
- /package/es/{iconfont.1792671792434.woff → iconfont.1792740965539.woff} +0 -0
- /package/es/{iconfont.1792671792434.woff2 → iconfont.1792740965539.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792671792434.ttf → iconfont.1792740965539.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792671792434.woff → iconfont.1792740965539.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792671792434.woff2 → iconfont.1792740965539.woff2} +0 -0
- /package/lib/{iconfont.1792671792434.ttf → iconfont.1792740965539.ttf} +0 -0
- /package/lib/{iconfont.1792671792434.woff → iconfont.1792740965539.woff} +0 -0
- /package/lib/{iconfont.1792671792434.woff2 → iconfont.1792740965539.woff2} +0 -0
|
@@ -23,8 +23,10 @@ export function getRowUniqueId () {
|
|
|
23
23
|
function createReactData (): TableSelectReactData {
|
|
24
24
|
return {
|
|
25
25
|
initialized: false,
|
|
26
|
+
searchValue: '',
|
|
27
|
+
searchLoading: false,
|
|
28
|
+
tableData: [],
|
|
26
29
|
tableColumns: [],
|
|
27
|
-
fullOptionList: [],
|
|
28
30
|
panelIndex: 0,
|
|
29
31
|
panelStyle: {},
|
|
30
32
|
panelPlacement: null,
|
|
@@ -39,7 +41,9 @@ function createInternalData (): TableSelectInternalData {
|
|
|
39
41
|
return {
|
|
40
42
|
// hpTimeout: undefined,
|
|
41
43
|
// vpTimeout: undefined,
|
|
42
|
-
|
|
44
|
+
fullData: [],
|
|
45
|
+
afterVisibleList: [],
|
|
46
|
+
fullValMaps: {}
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
|
|
@@ -72,6 +76,13 @@ export default defineVxeComponent({
|
|
|
72
76
|
options: Array as PropType<VxeTableSelectPropTypes.Options>,
|
|
73
77
|
optionProps: Object as PropType<VxeTableSelectPropTypes.OptionProps>,
|
|
74
78
|
lazyOptions: Array as PropType<VxeTableSelectPropTypes.LazyOptions>,
|
|
79
|
+
filterable: {
|
|
80
|
+
type: Boolean as PropType<VxeTableSelectPropTypes.Filterable>,
|
|
81
|
+
default: () => getConfig().tableSelect.filterable
|
|
82
|
+
},
|
|
83
|
+
filterConfig: Object as PropType<VxeTableSelectPropTypes.FilterConfig>,
|
|
84
|
+
remote: Boolean as PropType<VxeTableSelectPropTypes.Remote>,
|
|
85
|
+
remoteConfig: Object as PropType<VxeTableSelectPropTypes.RemoteConfig>,
|
|
75
86
|
/**
|
|
76
87
|
* 已废弃,请使用 popupConfig.zIndex
|
|
77
88
|
* @deprecated
|
|
@@ -120,6 +131,7 @@ export default defineVxeComponent({
|
|
|
120
131
|
const refInput = ref<VxeInputConstructor>()
|
|
121
132
|
const refGridWrapper = ref<HTMLDivElement>()
|
|
122
133
|
const refOptionPanel = ref<HTMLDivElement>()
|
|
134
|
+
const refInpSearch = ref<VxeInputConstructor>()
|
|
123
135
|
const refGrid = ref<VxeGridInstance>()
|
|
124
136
|
|
|
125
137
|
const reactData = reactive(createReactData())
|
|
@@ -217,6 +229,14 @@ export default defineVxeComponent({
|
|
|
217
229
|
})
|
|
218
230
|
})
|
|
219
231
|
|
|
232
|
+
const computeRemoteOpts = computed(() => {
|
|
233
|
+
return Object.assign({}, getConfig().tableSelect.remoteConfig, props.remoteConfig)
|
|
234
|
+
})
|
|
235
|
+
|
|
236
|
+
const computeFilterOpts = computed(() => {
|
|
237
|
+
return Object.assign({}, getConfig().tableSelect.filterConfig, props.filterConfig)
|
|
238
|
+
})
|
|
239
|
+
|
|
220
240
|
const computeSelectGridOpts = computed(() => {
|
|
221
241
|
const gridOpts = computeGridOpts.value
|
|
222
242
|
const checkboxOpts = computeCheckboxOpts.value
|
|
@@ -231,15 +251,15 @@ export default defineVxeComponent({
|
|
|
231
251
|
Object.assign(newProxyConfig.ajax, {
|
|
232
252
|
query (params: VxeGridPropTypes.ProxyAjaxQueryParams, ...args: any[]) {
|
|
233
253
|
return Promise.resolve(ajaxMethods(params, ...args)).then(rest => {
|
|
234
|
-
let
|
|
254
|
+
let currData = []
|
|
235
255
|
if (pagerConfig) {
|
|
236
256
|
const resultProp = resConfigs.result
|
|
237
|
-
|
|
257
|
+
currData = (XEUtils.isFunction(resultProp) ? resultProp({ data: rest, $table: null as any, $grid: null, $gantt: null }) : XEUtils.get(rest, resultProp || 'result')) || []
|
|
238
258
|
} else {
|
|
239
259
|
const listProp = resConfigs.list
|
|
240
|
-
|
|
260
|
+
currData = (listProp ? (XEUtils.isFunction(listProp) ? listProp({ data: rest, $table: null as any, $grid: null, $gantt: null }) : XEUtils.get(rest, listProp)) : rest) || []
|
|
241
261
|
}
|
|
242
|
-
cacheDataMap(
|
|
262
|
+
cacheDataMap(currData || [])
|
|
243
263
|
return rest
|
|
244
264
|
})
|
|
245
265
|
}
|
|
@@ -253,15 +273,14 @@ export default defineVxeComponent({
|
|
|
253
273
|
|
|
254
274
|
const computeSelectLabel = computed(() => {
|
|
255
275
|
const { modelValue, lazyOptions } = props
|
|
256
|
-
const {
|
|
257
|
-
const { fullRowMaps } = internalData
|
|
276
|
+
const { fullValMaps, fullData } = internalData
|
|
258
277
|
const valueField = computeValueField.value
|
|
259
278
|
const labelField = computeLabelField.value
|
|
260
|
-
if (!
|
|
279
|
+
if (!fullData) {
|
|
261
280
|
return ''
|
|
262
281
|
}
|
|
263
282
|
return (XEUtils.isArray(modelValue) ? modelValue : [modelValue]).map(val => {
|
|
264
|
-
const cacheItem =
|
|
283
|
+
const cacheItem = fullValMaps[val]
|
|
265
284
|
if (cacheItem) {
|
|
266
285
|
return cacheItem.item[labelField]
|
|
267
286
|
}
|
|
@@ -336,7 +355,7 @@ export default defineVxeComponent({
|
|
|
336
355
|
}
|
|
337
356
|
|
|
338
357
|
const getRowsByValue = (modelValue: VxeTableSelectPropTypes.ModelValue) => {
|
|
339
|
-
const {
|
|
358
|
+
const { fullValMaps } = internalData
|
|
340
359
|
const checkboxOpts = computeCheckboxOpts.value
|
|
341
360
|
const rowKeyField = computeRowKeyField.value
|
|
342
361
|
const valueField = computeValueField.value
|
|
@@ -345,7 +364,7 @@ export default defineVxeComponent({
|
|
|
345
364
|
const vals = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue])
|
|
346
365
|
if (checkboxOpts.reserve) {
|
|
347
366
|
vals.forEach(val => {
|
|
348
|
-
const cacheItem =
|
|
367
|
+
const cacheItem = fullValMaps[val]
|
|
349
368
|
rows.push(cacheItem
|
|
350
369
|
? cacheItem.item
|
|
351
370
|
: {
|
|
@@ -356,7 +375,7 @@ export default defineVxeComponent({
|
|
|
356
375
|
})
|
|
357
376
|
} else {
|
|
358
377
|
vals.forEach(val => {
|
|
359
|
-
const cacheItem =
|
|
378
|
+
const cacheItem = fullValMaps[val]
|
|
360
379
|
if (cacheItem) {
|
|
361
380
|
rows.push(cacheItem.item)
|
|
362
381
|
}
|
|
@@ -382,7 +401,12 @@ export default defineVxeComponent({
|
|
|
382
401
|
})
|
|
383
402
|
}
|
|
384
403
|
|
|
385
|
-
const
|
|
404
|
+
const loadData = (data: any[]) => {
|
|
405
|
+
cacheDataMap(data)
|
|
406
|
+
handleData()
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
const loadColumn = (columns?: VxeTableSelectPropTypes.Columns) => {
|
|
386
410
|
if (!columns || !columns.length) {
|
|
387
411
|
return
|
|
388
412
|
}
|
|
@@ -416,7 +440,7 @@ export default defineVxeComponent({
|
|
|
416
440
|
reactData.tableColumns = tableCols
|
|
417
441
|
}
|
|
418
442
|
|
|
419
|
-
const cacheDataMap = (dataList
|
|
443
|
+
const cacheDataMap = (dataList: any[]) => {
|
|
420
444
|
const { options } = props
|
|
421
445
|
const rowKeyField = computeRowKeyField.value
|
|
422
446
|
const valueField = computeValueField.value
|
|
@@ -425,13 +449,14 @@ export default defineVxeComponent({
|
|
|
425
449
|
const rowMaps: Record<string, {
|
|
426
450
|
item: any
|
|
427
451
|
index: number
|
|
452
|
+
_index: number
|
|
428
453
|
items: any[]
|
|
429
454
|
parent: any
|
|
430
455
|
nodes: any[]
|
|
431
456
|
}> = {}
|
|
432
457
|
const keyMaps: Record<string, boolean> = {}
|
|
433
458
|
if (treeConfig) {
|
|
434
|
-
//
|
|
459
|
+
// 暂不支持
|
|
435
460
|
} else {
|
|
436
461
|
XEUtils.arrayEach(dataList || options || [], (item, index, items) => {
|
|
437
462
|
let rowid = getRowid(item)
|
|
@@ -446,14 +471,53 @@ export default defineVxeComponent({
|
|
|
446
471
|
if (rowMaps[value]) {
|
|
447
472
|
errLog('vxe.error.repeatKey', [valueField, value])
|
|
448
473
|
}
|
|
449
|
-
rowMaps[value] = { item, index, items, parent: null, nodes: [] }
|
|
474
|
+
rowMaps[value] = { item, index, _index: index, items, parent: null, nodes: [] }
|
|
450
475
|
})
|
|
451
476
|
}
|
|
452
|
-
|
|
453
|
-
internalData.
|
|
477
|
+
internalData.fullData = dataList || options || []
|
|
478
|
+
internalData.fullValMaps = pagerConfig ? Object.assign({}, internalData.fullValMaps, rowMaps) : rowMaps
|
|
479
|
+
handleOptList()
|
|
454
480
|
updateModel(props.modelValue)
|
|
455
481
|
}
|
|
456
482
|
|
|
483
|
+
const handleOptList = () => {
|
|
484
|
+
const { remote, modelValue, filterable } = props
|
|
485
|
+
const { searchValue } = reactData
|
|
486
|
+
const { fullData, fullValMaps } = internalData
|
|
487
|
+
const valueField = computeValueField.value
|
|
488
|
+
const labelField = computeLabelField.value
|
|
489
|
+
const filterOpts = computeFilterOpts.value
|
|
490
|
+
const frMethod = filterOpts.filterMethod
|
|
491
|
+
const searchStr = `${searchValue || ''}`.toLowerCase()
|
|
492
|
+
let avList: any[] = []
|
|
493
|
+
if (remote) {
|
|
494
|
+
avList = fullData
|
|
495
|
+
} else {
|
|
496
|
+
if (filterable && frMethod) {
|
|
497
|
+
avList = searchStr
|
|
498
|
+
? fullData.filter(row => frMethod({
|
|
499
|
+
$tableSelect: $xeTableSelect,
|
|
500
|
+
row,
|
|
501
|
+
filterValue: searchValue,
|
|
502
|
+
value: modelValue
|
|
503
|
+
}))
|
|
504
|
+
: fullData
|
|
505
|
+
} else if (filterable) {
|
|
506
|
+
avList = searchStr ? fullData.filter(row => (`${row[labelField] || row[valueField]}`.toLowerCase().indexOf(searchStr) > -1)) : fullData
|
|
507
|
+
} else {
|
|
508
|
+
avList = fullData
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
avList.forEach((item, index) => {
|
|
512
|
+
const cacheItem = fullValMaps[item[valueField]]
|
|
513
|
+
if (cacheItem) {
|
|
514
|
+
cacheItem._index = index
|
|
515
|
+
}
|
|
516
|
+
})
|
|
517
|
+
internalData.afterVisibleList = avList
|
|
518
|
+
return nextTick()
|
|
519
|
+
}
|
|
520
|
+
|
|
457
521
|
const updateZindex = () => {
|
|
458
522
|
const popupOpts = computePopupOpts.value
|
|
459
523
|
const customZIndex = popupOpts.zIndex || props.zIndex
|
|
@@ -489,8 +553,10 @@ export default defineVxeComponent({
|
|
|
489
553
|
}
|
|
490
554
|
|
|
491
555
|
const showOptionPanel = () => {
|
|
492
|
-
const { loading } = props
|
|
556
|
+
const { loading, remote, filterable } = props
|
|
557
|
+
const { fullData } = internalData
|
|
493
558
|
const isDisabled = computeIsDisabled.value
|
|
559
|
+
const remoteOpts = computeRemoteOpts.value
|
|
494
560
|
if (!loading && !isDisabled) {
|
|
495
561
|
if (internalData.vpTimeout) {
|
|
496
562
|
clearTimeout(internalData.vpTimeout)
|
|
@@ -501,12 +567,18 @@ export default defineVxeComponent({
|
|
|
501
567
|
if (!reactData.initialized) {
|
|
502
568
|
reactData.initialized = true
|
|
503
569
|
}
|
|
570
|
+
if (filterable) {
|
|
571
|
+
if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullData.length) {
|
|
572
|
+
handleSearchEvent()
|
|
573
|
+
}
|
|
574
|
+
}
|
|
504
575
|
reactData.isActivated = true
|
|
505
576
|
reactData.isAniVisible = true
|
|
506
577
|
internalData.vpTimeout = setTimeout(() => {
|
|
507
578
|
reactData.visiblePanel = true
|
|
508
579
|
updateModel(props.modelValue)
|
|
509
580
|
internalData.vpTimeout = undefined
|
|
581
|
+
handleFocusSearch()
|
|
510
582
|
updatePlacement()
|
|
511
583
|
}, 10)
|
|
512
584
|
updateZindex()
|
|
@@ -515,7 +587,14 @@ export default defineVxeComponent({
|
|
|
515
587
|
}
|
|
516
588
|
|
|
517
589
|
const hideOptionPanel = () => {
|
|
590
|
+
const { filterable } = props
|
|
591
|
+
const filterOpts = computeFilterOpts.value
|
|
518
592
|
reactData.visiblePanel = false
|
|
593
|
+
if (filterable) {
|
|
594
|
+
if (filterOpts.clearOnClose) {
|
|
595
|
+
reactData.searchValue = ''
|
|
596
|
+
}
|
|
597
|
+
}
|
|
519
598
|
if (internalData.vpTimeout) {
|
|
520
599
|
clearTimeout(internalData.vpTimeout)
|
|
521
600
|
}
|
|
@@ -528,6 +607,42 @@ export default defineVxeComponent({
|
|
|
528
607
|
}, 350)
|
|
529
608
|
}
|
|
530
609
|
|
|
610
|
+
const handleData = () => {
|
|
611
|
+
const { afterVisibleList } = internalData
|
|
612
|
+
reactData.tableData = afterVisibleList
|
|
613
|
+
return nextTick()
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
const modelSearchEvent = (value: string) => {
|
|
617
|
+
reactData.searchValue = value
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
const focusSearchEvent = () => {
|
|
621
|
+
reactData.isActivated = true
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
const handleSearchEvent = () => {
|
|
625
|
+
const { modelValue, remote } = props
|
|
626
|
+
const { searchValue } = reactData
|
|
627
|
+
const remoteOpts = computeRemoteOpts.value
|
|
628
|
+
const queryMethod = remoteOpts.queryMethod
|
|
629
|
+
if (remote && queryMethod && remoteOpts.enabled) {
|
|
630
|
+
reactData.searchLoading = true
|
|
631
|
+
Promise.resolve(
|
|
632
|
+
queryMethod({ $tableSelect: $xeTableSelect, searchValue, value: modelValue })
|
|
633
|
+
).then(() => nextTick())
|
|
634
|
+
.catch(() => nextTick())
|
|
635
|
+
.finally(() => {
|
|
636
|
+
reactData.searchLoading = false
|
|
637
|
+
})
|
|
638
|
+
} else {
|
|
639
|
+
handleOptList()
|
|
640
|
+
handleData()
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
const triggerSearchEvent = XEUtils.debounce(handleSearchEvent, 350, { trailing: true })
|
|
645
|
+
|
|
531
646
|
const changeEvent = (evnt: Event, selectValue: any, row: any) => {
|
|
532
647
|
emitModel(selectValue)
|
|
533
648
|
if (selectValue !== props.modelValue) {
|
|
@@ -597,6 +712,17 @@ export default defineVxeComponent({
|
|
|
597
712
|
}
|
|
598
713
|
}
|
|
599
714
|
|
|
715
|
+
const handleFocusSearch = () => {
|
|
716
|
+
if (props.filterable) {
|
|
717
|
+
nextTick(() => {
|
|
718
|
+
const inpSearch = refInpSearch.value
|
|
719
|
+
if (inpSearch) {
|
|
720
|
+
inpSearch.focus()
|
|
721
|
+
}
|
|
722
|
+
})
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
|
|
600
726
|
const focusEvent = (evnt: FocusEvent) => {
|
|
601
727
|
const isDisabled = computeIsDisabled.value
|
|
602
728
|
if (!isDisabled) {
|
|
@@ -666,8 +792,8 @@ export default defineVxeComponent({
|
|
|
666
792
|
Object.assign($xeTableSelect, tableSelectMethods, tableSelectPrivateMethods)
|
|
667
793
|
|
|
668
794
|
const renderVN = () => {
|
|
669
|
-
const { className,
|
|
670
|
-
const { initialized, isActivated, isAniVisible, visiblePanel, tableColumns } = reactData
|
|
795
|
+
const { className, loading, filterable, remote } = props
|
|
796
|
+
const { initialized, isActivated, isAniVisible, visiblePanel, tableColumns, searchValue, tableData, searchLoading } = reactData
|
|
671
797
|
const vSize = computeSize.value
|
|
672
798
|
const isDisabled = computeIsDisabled.value
|
|
673
799
|
const selectLabel = computeSelectLabel.value
|
|
@@ -676,6 +802,7 @@ export default defineVxeComponent({
|
|
|
676
802
|
const popupOpts = computePopupOpts.value
|
|
677
803
|
const selectGridOpts = computeSelectGridOpts.value
|
|
678
804
|
const rowOpts = computeRowOpts.value
|
|
805
|
+
const filterOpts = computeFilterOpts.value
|
|
679
806
|
const popupWrapperStyle = computePopupWrapperStyle.value
|
|
680
807
|
const { appendTo } = popupOpts
|
|
681
808
|
const headerSlot = slots.header
|
|
@@ -697,6 +824,7 @@ export default defineVxeComponent({
|
|
|
697
824
|
ref: refElem,
|
|
698
825
|
class: ['vxe-table-select', className ? (XEUtils.isFunction(className) ? className({ $tableSelect: $xeTableSelect }) : className) : '', {
|
|
699
826
|
[`size--${vSize}`]: vSize,
|
|
827
|
+
'is--filterable': filterable,
|
|
700
828
|
'is--visible': visiblePanel,
|
|
701
829
|
'is--disabled': isDisabled,
|
|
702
830
|
'is--loading': loading,
|
|
@@ -742,6 +870,26 @@ export default defineVxeComponent({
|
|
|
742
870
|
h('div', {
|
|
743
871
|
class: 'vxe-table-select--panel-wrapper'
|
|
744
872
|
}, [
|
|
873
|
+
filterable
|
|
874
|
+
? h('div', {
|
|
875
|
+
class: 'vxe-table-select--panel-search'
|
|
876
|
+
}, [
|
|
877
|
+
h(VxeInputComponent, {
|
|
878
|
+
ref: refInpSearch,
|
|
879
|
+
class: 'vxe-table-select-search--input',
|
|
880
|
+
modelValue: searchValue,
|
|
881
|
+
clearable: true,
|
|
882
|
+
disabled: false,
|
|
883
|
+
readonly: false,
|
|
884
|
+
placeholder: getI18n('vxe.treeSelect.search'),
|
|
885
|
+
prefixIcon: getIcon().INPUT_SEARCH,
|
|
886
|
+
'onUpdate:modelValue': modelSearchEvent,
|
|
887
|
+
onFocus: focusSearchEvent,
|
|
888
|
+
onChange: triggerSearchEvent,
|
|
889
|
+
onSearch: triggerSearchEvent
|
|
890
|
+
})
|
|
891
|
+
])
|
|
892
|
+
: renderEmptyElement($xeTableSelect),
|
|
745
893
|
headerSlot
|
|
746
894
|
? h('div', {
|
|
747
895
|
class: 'vxe-table-select--panel-header'
|
|
@@ -761,8 +909,9 @@ export default defineVxeComponent({
|
|
|
761
909
|
...gridEvents,
|
|
762
910
|
class: 'vxe-table-select--grid',
|
|
763
911
|
ref: refGrid,
|
|
912
|
+
loading: remote && searchLoading,
|
|
764
913
|
rowConfig: rowOpts,
|
|
765
|
-
data:
|
|
914
|
+
data: tableData,
|
|
766
915
|
columns: tableColumns.length ? tableColumns : selectGridOpts.columns,
|
|
767
916
|
height: '100%',
|
|
768
917
|
autoResize: true,
|
|
@@ -777,10 +926,16 @@ export default defineVxeComponent({
|
|
|
777
926
|
: renderEmptyElement($xeTableSelect)
|
|
778
927
|
])
|
|
779
928
|
]),
|
|
780
|
-
footerSlot
|
|
929
|
+
footerSlot || (filterable && searchValue && !remote && filterOpts.showResultCount)
|
|
781
930
|
? h('div', {
|
|
782
931
|
class: 'vxe-table-select--panel-footer'
|
|
783
|
-
}, footerSlot
|
|
932
|
+
}, footerSlot
|
|
933
|
+
? footerSlot({})
|
|
934
|
+
: [
|
|
935
|
+
h('div', {
|
|
936
|
+
class: 'vxe-table-select--search-count'
|
|
937
|
+
}, searchLoading ? '' : getI18n('vxe.tableSelect.filterCount', [tableData.length]))
|
|
938
|
+
])
|
|
784
939
|
: renderEmptyElement($xeTableSelect)
|
|
785
940
|
])
|
|
786
941
|
]
|
|
@@ -789,20 +944,20 @@ export default defineVxeComponent({
|
|
|
789
944
|
])
|
|
790
945
|
}
|
|
791
946
|
|
|
792
|
-
watch(() => props.options, () => {
|
|
793
|
-
|
|
947
|
+
watch(() => props.options, (val) => {
|
|
948
|
+
loadData(val || [])
|
|
794
949
|
})
|
|
795
950
|
|
|
796
951
|
watch(() => props.columns, (val) => {
|
|
797
|
-
|
|
952
|
+
loadColumn(val)
|
|
798
953
|
})
|
|
799
954
|
|
|
800
955
|
watch(() => props.modelValue, (val) => {
|
|
801
956
|
updateModel(val)
|
|
802
957
|
})
|
|
803
958
|
|
|
804
|
-
|
|
805
|
-
|
|
959
|
+
loadColumn(props.columns)
|
|
960
|
+
loadData(props.options || [])
|
|
806
961
|
|
|
807
962
|
onMounted(() => {
|
|
808
963
|
const { gridConfig } = props
|
|
@@ -98,7 +98,7 @@ export default defineVxeComponent({
|
|
|
98
98
|
default: () => getConfig().treeSelect.size || getConfig().size
|
|
99
99
|
},
|
|
100
100
|
remote: Boolean as PropType<VxeTreeSelectPropTypes.Remote>,
|
|
101
|
-
remoteConfig:
|
|
101
|
+
remoteConfig: Object as PropType<VxeTreeSelectPropTypes.RemoteConfig>,
|
|
102
102
|
showRadio: {
|
|
103
103
|
type: Boolean as PropType<VxeTreeSelectPropTypes.ShowRadio>,
|
|
104
104
|
default: () => getConfig().treeSelect.showRadio
|
package/packages/ui/index.ts
CHANGED
|
@@ -416,6 +416,10 @@ setConfig({
|
|
|
416
416
|
switch: {},
|
|
417
417
|
tabPane: {},
|
|
418
418
|
tableSelect: {
|
|
419
|
+
remoteConfig: {
|
|
420
|
+
enabled: true,
|
|
421
|
+
autoLoad: true
|
|
422
|
+
},
|
|
419
423
|
gridConfig: {
|
|
420
424
|
showOverflow: true,
|
|
421
425
|
showHeaderOverflow: true,
|
|
@@ -495,6 +499,10 @@ setConfig({
|
|
|
495
499
|
gt: 0,
|
|
496
500
|
oSize: 2
|
|
497
501
|
},
|
|
502
|
+
remoteConfig: {
|
|
503
|
+
enabled: true,
|
|
504
|
+
autoLoad: true
|
|
505
|
+
},
|
|
498
506
|
treeConfig: {
|
|
499
507
|
maxHeight: 300,
|
|
500
508
|
radioConfig: {},
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use "sass:list";
|
|
3
3
|
|
|
4
|
+
// 局部变量
|
|
5
|
+
.vxe-alert {
|
|
6
|
+
--vxe-ui-alert-current-font-size: var(--vxe-ui-font-size-default);
|
|
7
|
+
&.size--xlarge {
|
|
8
|
+
--vxe-ui-alert-current-font-size: var(--vxe-ui-font-size-xlarge);
|
|
9
|
+
}
|
|
10
|
+
&.size--large {
|
|
11
|
+
--vxe-ui-alert-current-font-size: var(--vxe-ui-font-size-large);
|
|
12
|
+
}
|
|
13
|
+
&.size--medium {
|
|
14
|
+
--vxe-ui-alert-current-font-size: var(--vxe-ui-font-size-medium);
|
|
15
|
+
}
|
|
16
|
+
&.size--small {
|
|
17
|
+
--vxe-ui-alert-current-font-size: var(--vxe-ui-font-size-small);
|
|
18
|
+
}
|
|
19
|
+
&.size--mini {
|
|
20
|
+
--vxe-ui-alert-current-font-size: var(--vxe-ui-font-size-mini);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
4
24
|
$btnThemeList: (
|
|
5
25
|
(
|
|
6
26
|
name: "primary",
|
|
@@ -49,6 +69,10 @@ $btnThemeList: (
|
|
|
49
69
|
margin-bottom: var(--vxe-ui-layout-padding-default);
|
|
50
70
|
font-size: var(--vxe-ui-font-size-default);
|
|
51
71
|
border-radius: var(--vxe-ui-base-border-radius);
|
|
72
|
+
&[class^="size--"],
|
|
73
|
+
&[class*=" size--"] {
|
|
74
|
+
font-size: var(--vxe-ui-alert-current-font-size);
|
|
75
|
+
}
|
|
52
76
|
@for $index from 0 to list.length($btnThemeList) {
|
|
53
77
|
$item: list.nth($btnThemeList, $index + 1);
|
|
54
78
|
&.theme--#{map.get($item, name)} {
|
|
@@ -68,15 +92,6 @@ $btnThemeList: (
|
|
|
68
92
|
}
|
|
69
93
|
}
|
|
70
94
|
}
|
|
71
|
-
&.size--medium {
|
|
72
|
-
font-size: var(--vxe-ui-font-size-medium);
|
|
73
|
-
}
|
|
74
|
-
&.size--small {
|
|
75
|
-
font-size: var(--vxe-ui-font-size-small);
|
|
76
|
-
}
|
|
77
|
-
&.size--mini {
|
|
78
|
-
font-size: var(--vxe-ui-font-size-mini);
|
|
79
|
-
}
|
|
80
95
|
}
|
|
81
96
|
.vxe-alert--icon {
|
|
82
97
|
display: flex;
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
@use "sass:map";
|
|
2
2
|
@use "sass:list";
|
|
3
3
|
|
|
4
|
+
// 局部变量
|
|
5
|
+
.vxe-backtop {
|
|
6
|
+
--vxe-ui-backtop-current-font-size: var(--vxe-ui-font-size-default);
|
|
7
|
+
&.size--xlarge {
|
|
8
|
+
--vxe-ui-backtop-current-font-size: var(--vxe-ui-font-size-xlarge);
|
|
9
|
+
}
|
|
10
|
+
&.size--large {
|
|
11
|
+
--vxe-ui-backtop-current-font-size: var(--vxe-ui-font-size-large);
|
|
12
|
+
}
|
|
13
|
+
&.size--medium {
|
|
14
|
+
--vxe-ui-backtop-current-font-size: var(--vxe-ui-font-size-medium);
|
|
15
|
+
}
|
|
16
|
+
&.size--small {
|
|
17
|
+
--vxe-ui-backtop-current-font-size: var(--vxe-ui-font-size-small);
|
|
18
|
+
}
|
|
19
|
+
&.size--mini {
|
|
20
|
+
--vxe-ui-backtop-current-font-size: var(--vxe-ui-font-size-mini);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
4
24
|
.vxe-backtop {
|
|
5
25
|
display: inline-flex;
|
|
6
26
|
flex-direction: column;
|
|
@@ -11,6 +31,10 @@
|
|
|
11
31
|
font-family: var(--vxe-ui-font-family);
|
|
12
32
|
cursor: pointer;
|
|
13
33
|
z-index: 9;
|
|
34
|
+
&[class^="size--"],
|
|
35
|
+
&[class*=" size--"] {
|
|
36
|
+
font-size: var(--vxe-ui-backtop-current-font-size);
|
|
37
|
+
}
|
|
14
38
|
&.is--visible {
|
|
15
39
|
.vxe-backtop--content-wrapper {
|
|
16
40
|
opacity: 1;
|
|
@@ -68,16 +92,3 @@
|
|
|
68
92
|
.vxe-backtop--icon {
|
|
69
93
|
font-size: 1.4em;
|
|
70
94
|
}
|
|
71
|
-
|
|
72
|
-
.vxe-backtop {
|
|
73
|
-
font-size: var(--vxe-ui-font-size-default);
|
|
74
|
-
&.size--medium {
|
|
75
|
-
font-size: var(--vxe-ui-font-size-medium);
|
|
76
|
-
}
|
|
77
|
-
&.size--small {
|
|
78
|
-
font-size: var(--vxe-ui-font-size-small);
|
|
79
|
-
}
|
|
80
|
-
&.size--mini {
|
|
81
|
-
font-size: var(--vxe-ui-font-size-mini);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
@@ -22,7 +22,10 @@
|
|
|
22
22
|
position: relative;
|
|
23
23
|
display: inline-block;
|
|
24
24
|
vertical-align: middle;
|
|
25
|
-
|
|
25
|
+
&[class^="size--"],
|
|
26
|
+
&[class*=" size--"] {
|
|
27
|
+
font-size: var(--vxe-ui-badge-current-font-size);
|
|
28
|
+
}
|
|
26
29
|
&.is--dot {
|
|
27
30
|
&::before {
|
|
28
31
|
content: "";
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
position: relative;
|
|
53
53
|
background-color: var(--vxe-ui-layout-background-color);
|
|
54
54
|
outline: 0;
|
|
55
|
-
font-size: var(--vxe-ui-button-current-font-size);
|
|
56
55
|
max-width: var(--vxe-ui-button-max-width);
|
|
56
|
+
font-size: var(--vxe-ui-button-current-font-size);
|
|
57
57
|
overflow: hidden;
|
|
58
58
|
text-overflow: ellipsis;
|
|
59
59
|
white-space: nowrap;
|
|
@@ -296,7 +296,6 @@
|
|
|
296
296
|
|
|
297
297
|
.vxe-button--dropdown-icon {
|
|
298
298
|
display: inline-block;
|
|
299
|
-
font-size: 12px;
|
|
300
299
|
margin-left: 4px;
|
|
301
300
|
@include baseMixin.createAnimationTransition(transform, .2s);
|
|
302
301
|
}
|
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
@use "sass:list";
|
|
2
2
|
|
|
3
|
+
// 局部变量
|
|
4
|
+
.vxe-calendar {
|
|
5
|
+
--vxe-ui-calendar-current-font-size: var(--vxe-ui-font-size-default);
|
|
6
|
+
&.size--xlarge {
|
|
7
|
+
--vxe-ui-calendar-current-font-size: var(--vxe-ui-font-size-xlarge);
|
|
8
|
+
}
|
|
9
|
+
&.size--large {
|
|
10
|
+
--vxe-ui-calendar-current-font-size: var(--vxe-ui-font-size-large);
|
|
11
|
+
}
|
|
12
|
+
&.size--medium {
|
|
13
|
+
--vxe-ui-calendar-current-font-size: var(--vxe-ui-font-size-medium);
|
|
14
|
+
}
|
|
15
|
+
&.size--small {
|
|
16
|
+
--vxe-ui-calendar-current-font-size: var(--vxe-ui-font-size-small);
|
|
17
|
+
}
|
|
18
|
+
&.size--mini {
|
|
19
|
+
--vxe-ui-calendar-current-font-size: var(--vxe-ui-font-size-mini);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
3
23
|
.vxe-calendar {
|
|
4
24
|
color: var(--vxe-ui-font-color);
|
|
5
25
|
display: flex;
|
|
6
26
|
flex-direction: column;
|
|
7
27
|
flex-shrink: 0;
|
|
28
|
+
font-size: var(--vxe-ui-calendar-current-font-size);
|
|
8
29
|
width: 100%;
|
|
9
30
|
height: 38em;
|
|
10
31
|
border: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
@@ -456,16 +477,3 @@
|
|
|
456
477
|
display: block;
|
|
457
478
|
}
|
|
458
479
|
}
|
|
459
|
-
|
|
460
|
-
.vxe-calendar {
|
|
461
|
-
font-size: var(--vxe-ui-font-size-default);
|
|
462
|
-
&.size--medium {
|
|
463
|
-
font-size: var(--vxe-ui-font-size-medium);
|
|
464
|
-
}
|
|
465
|
-
&.size--small {
|
|
466
|
-
font-size: var(--vxe-ui-font-size-small);
|
|
467
|
-
}
|
|
468
|
-
&.size--mini {
|
|
469
|
-
font-size: var(--vxe-ui-font-size-mini);
|
|
470
|
-
}
|
|
471
|
-
}
|
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
.vxe-cascader--panel {
|
|
7
7
|
--vxe-ui-cascader-current-font-size: var(--vxe-ui-font-size-default);
|
|
8
8
|
--vxe-ui-cascader-current-padding: var(--vxe-ui-layout-padding-default);
|
|
9
|
+
&.size--xlarge {
|
|
10
|
+
--vxe-ui-cascader-current-font-size: var(--vxe-ui-font-size-xlarge);
|
|
11
|
+
--vxe-ui-cascader-current-padding: var(--vxe-ui-layout-padding-xlarge);
|
|
12
|
+
}
|
|
13
|
+
&.size--large {
|
|
14
|
+
--vxe-ui-cascader-current-font-size: var(--vxe-ui-font-size-large);
|
|
15
|
+
--vxe-ui-cascader-current-padding: var(--vxe-ui-layout-padding-large);
|
|
16
|
+
}
|
|
9
17
|
&.size--medium {
|
|
10
18
|
--vxe-ui-cascader-current-font-size: var(--vxe-ui-font-size-medium);
|
|
11
19
|
--vxe-ui-cascader-current-padding: var(--vxe-ui-layout-padding-medium);
|