vxe-pc-ui 4.1.20 → 4.1.22
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/README.md +82 -1
- package/es/anchor/src/anchor-link.js +1 -1
- package/es/anchor/src/anchor.js +1 -1
- package/es/breadcrumb/src/breadcrumb.js +1 -1
- package/es/button/src/button-group.js +4 -1
- package/es/calendar/src/calendar.js +64 -32
- package/es/carousel/src/carousel-item.js +13 -3
- package/es/carousel/src/carousel.js +16 -8
- package/es/checkbox/src/checkbox.js +30 -14
- package/es/checkbox/src/group.js +17 -8
- package/es/collapse-pane/index.js +1 -1
- package/es/countdown/src/countdown.js +1 -1
- package/es/date-picker/src/date-picker.js +12 -12
- package/es/drawer/src/drawer.js +1 -1
- package/es/form/render/index.js +1 -2
- package/es/form/src/form-config-item.js +4 -3
- package/es/form/src/form-gather.js +5 -3
- package/es/form/src/form-item.js +15 -10
- package/es/form/src/form.js +11 -8
- package/es/form/src/render.js +2 -1
- package/es/form/src/util.js +2 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +22 -10
- package/es/image/src/group.js +4 -1
- package/es/image/src/preview.js +1 -1
- package/es/input/src/input.js +129 -65
- package/es/layout-aside/src/layout-aside.js +1 -1
- package/es/list/src/list.js +7 -5
- package/es/list-design/src/list-design.js +1 -1
- package/es/list-design/src/list-view.js +1 -1
- package/es/loading/src/loading.js +1 -1
- package/es/menu/src/menu.js +1 -1
- package/es/number-input/src/number-input.js +6 -6
- package/es/pager/src/pager.js +85 -45
- package/es/password-input/src/password-input.js +2 -2
- package/es/print/src/page-break.js +11 -2
- package/es/print/src/print.js +6 -4
- package/es/radio/src/group.js +5 -2
- package/es/row/src/row.js +1 -1
- package/es/select/src/optgroup.js +11 -8
- package/es/select/src/option.js +9 -7
- package/es/select/src/select.js +32 -29
- package/es/select/src/util.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tab-pane.js +13 -3
- package/es/tabs/src/tabs.js +57 -47
- package/es/textarea/src/textarea.js +4 -4
- package/es/tooltip/src/tooltip.js +1 -1
- package/es/tree/src/tree.js +6 -3
- package/es/tree-select/src/tree-select.js +16 -9
- package/es/ui/index.js +1 -7
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +5 -5
- package/lib/anchor/src/anchor-link.js +1 -1
- package/lib/anchor/src/anchor-link.min.js +1 -1
- package/lib/anchor/src/anchor.js +1 -1
- package/lib/anchor/src/anchor.min.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
- package/lib/button/src/button-group.js +4 -1
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/calendar/src/calendar.js +42 -24
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/carousel/src/carousel-item.js +16 -3
- package/lib/carousel/src/carousel-item.min.js +1 -1
- package/lib/carousel/src/carousel.js +18 -8
- package/lib/carousel/src/carousel.min.js +1 -1
- package/lib/checkbox/src/checkbox.js +16 -12
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +10 -7
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/collapse-pane/index.js +1 -1
- package/lib/collapse-pane/index.min.js +1 -1
- package/lib/countdown/src/countdown.js +1 -1
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +12 -12
- package/lib/drawer/src/drawer.js +1 -1
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/form/render/index.js +1 -4
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form-config-item.js +4 -5
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-gather.js +11 -9
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +11 -12
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +7 -7
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +2 -1
- package/lib/form/src/util.js +2 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +20 -11
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/image/src/group.js +4 -1
- package/lib/image/src/group.min.js +1 -1
- package/lib/image/src/preview.js +1 -1
- package/lib/image/src/preview.min.js +1 -1
- package/lib/index.umd.js +575 -408
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +77 -50
- package/lib/input/src/input.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +1 -1
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/list/src/list.js +9 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/list-design/src/list-design.js +1 -1
- package/lib/list-design/src/list-design.min.js +1 -1
- package/lib/list-design/src/list-view.js +1 -1
- package/lib/list-design/src/list-view.min.js +1 -1
- package/lib/loading/src/loading.js +1 -1
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/number-input/src/number-input.js +6 -6
- package/lib/pager/src/pager.js +40 -39
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/password-input/src/password-input.js +2 -2
- package/lib/print/src/page-break.js +14 -2
- package/lib/print/src/page-break.min.js +1 -1
- package/lib/print/src/print.js +8 -6
- package/lib/print/src/print.min.js +1 -1
- package/lib/radio/src/group.js +5 -2
- package/lib/radio/src/group.min.js +1 -1
- package/lib/row/src/row.js +1 -1
- package/lib/row/src/row.min.js +1 -1
- package/lib/select/src/optgroup.js +12 -9
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +9 -7
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +33 -32
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/src/util.js +2 -2
- package/lib/select/src/util.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tab-pane.js +16 -3
- package/lib/tabs/src/tab-pane.min.js +1 -1
- package/lib/tabs/src/tabs.js +62 -50
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/textarea/src/textarea.js +4 -4
- package/lib/tooltip/src/tooltip.js +1 -1
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tree/src/tree.js +2 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +11 -7
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +3 -10
- 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/upload/src/upload.js +5 -5
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +2 -2
- package/packages/anchor/src/anchor-link.ts +2 -2
- package/packages/anchor/src/anchor.ts +2 -2
- package/packages/breadcrumb/src/breadcrumb.ts +2 -2
- package/packages/button/src/button-group.ts +4 -1
- package/packages/calendar/src/calendar.ts +67 -35
- package/packages/carousel/src/carousel-item.ts +19 -4
- package/packages/carousel/src/carousel.ts +19 -11
- package/packages/checkbox/src/checkbox.ts +34 -15
- package/packages/checkbox/src/group.ts +22 -10
- package/packages/collapse-pane/index.ts +1 -1
- package/packages/countdown/src/countdown.ts +2 -2
- package/packages/date-picker/src/date-picker.ts +12 -12
- package/packages/drawer/src/drawer.ts +2 -2
- package/packages/form/render/index.ts +1 -3
- package/packages/form/src/form-config-item.ts +4 -3
- package/packages/form/src/form-gather.ts +5 -3
- package/packages/form/src/form-item.ts +15 -10
- package/packages/form/src/form.ts +12 -10
- package/packages/form/src/render.ts +2 -1
- package/packages/form/src/util.ts +2 -1
- package/packages/icon-picker/src/icon-picker.ts +26 -13
- package/packages/image/src/group.ts +4 -1
- package/packages/image/src/preview.ts +2 -2
- package/packages/input/src/input.ts +133 -71
- package/packages/layout-aside/src/layout-aside.ts +2 -2
- package/packages/list/src/list.ts +12 -11
- package/packages/list-design/src/list-design.ts +2 -2
- package/packages/list-design/src/list-view.ts +2 -2
- package/packages/loading/src/loading.ts +2 -2
- package/packages/menu/src/menu.ts +2 -2
- package/packages/number-input/src/number-input.ts +6 -6
- package/packages/pager/src/pager.ts +91 -50
- package/packages/password-input/src/password-input.ts +2 -2
- package/packages/print/src/page-break.ts +18 -4
- package/packages/print/src/print.ts +10 -5
- package/packages/radio/src/group.ts +6 -3
- package/packages/row/src/row.ts +2 -2
- package/packages/select/src/optgroup.ts +16 -13
- package/packages/select/src/option.ts +10 -8
- package/packages/select/src/select.ts +42 -36
- package/packages/select/src/util.ts +3 -3
- package/packages/tabs/src/tab-pane.ts +20 -5
- package/packages/tabs/src/tabs.ts +59 -49
- package/packages/textarea/src/textarea.ts +4 -4
- package/packages/tooltip/src/tooltip.ts +2 -2
- package/packages/tree/src/tree.ts +7 -4
- package/packages/tree-select/src/tree-select.ts +20 -12
- package/packages/ui/index.ts +0 -7
- package/packages/upload/src/upload.ts +6 -6
- package/types/components/calendar.d.ts +6 -0
- package/types/components/carousel.d.ts +5 -0
- package/types/components/form.d.ts +4 -2
- package/types/components/icon-picker.d.ts +4 -0
- package/types/components/input.d.ts +9 -1
- package/types/components/list.d.ts +1 -0
- package/types/components/optgroup.d.ts +10 -4
- package/types/components/table-module/validator.d.ts +2 -3
- package/types/components/table.d.ts +4 -1
- package/types/components/tabs.d.ts +4 -0
- package/types/components/toolbar.d.ts +5 -0
- package/types/components/tree-select.d.ts +4 -0
- package/types/ui/index.d.ts +0 -22
- /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/es/icon/style/{iconfont.1725680652286.ttf → iconfont.1725977331743.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725680652286.woff → iconfont.1725977331743.woff} +0 -0
- /package/es/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725977331743.woff2} +0 -0
- /package/es/{iconfont.1725680652286.ttf → iconfont.1725977331743.ttf} +0 -0
- /package/es/{iconfont.1725680652286.woff → iconfont.1725977331743.woff} +0 -0
- /package/es/{iconfont.1725680652286.woff2 → iconfont.1725977331743.woff2} +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.ttf → iconfont.1725977331743.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.woff → iconfont.1725977331743.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725977331743.woff2} +0 -0
- /package/lib/{iconfont.1725680652286.ttf → iconfont.1725977331743.ttf} +0 -0
- /package/lib/{iconfont.1725680652286.woff → iconfont.1725977331743.woff} +0 -0
- /package/lib/{iconfont.1725680652286.woff2 → iconfont.1725977331743.woff2} +0 -0
- /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
package/README.md
CHANGED
|
@@ -109,8 +109,89 @@ npm install vxe-pc-ui
|
|
|
109
109
|
import VxeUI from 'vxe-pc-ui'
|
|
110
110
|
import 'vxe-pc-ui/lib/style.css'
|
|
111
111
|
// ...
|
|
112
|
+
// ...
|
|
113
|
+
import VxeTable from 'vxe-table'
|
|
114
|
+
import 'vxe-table/lib/style.css'
|
|
115
|
+
// ...
|
|
116
|
+
|
|
117
|
+
createApp(App).use(VxeUI).use(VxeTable).mount('#app')
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### CDN
|
|
121
|
+
|
|
122
|
+
使用第三方 CDN 方式记得锁定版本号,避免受到非兼容性更新的影响
|
|
123
|
+
***不建议将第三方的 CDN 地址用于正式环境,因为该连接随时都可能会失效***
|
|
124
|
+
|
|
125
|
+
```HTML
|
|
126
|
+
<!-- style -->
|
|
127
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-pc-ui/lib/style.css">
|
|
128
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-table@next/lib/style.css">
|
|
129
|
+
<!-- vue -->
|
|
130
|
+
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
|
|
131
|
+
<!-- table -->
|
|
132
|
+
<script src="https://cdn.jsdelivr.net/npm/xe-utils"></script>
|
|
133
|
+
<script src="https://cdn.jsdelivr.net/npm/vxe-pc-ui"></script>
|
|
134
|
+
<script src="https://cdn.jsdelivr.net/npm/vxe-table@next"></script>
|
|
135
|
+
```
|
|
112
136
|
|
|
113
|
-
|
|
137
|
+
## 示例
|
|
138
|
+
|
|
139
|
+
```html
|
|
140
|
+
<template>
|
|
141
|
+
<div>
|
|
142
|
+
<vxe-form
|
|
143
|
+
ref="formRef"
|
|
144
|
+
:data="formData"
|
|
145
|
+
@submit="submitEvent">
|
|
146
|
+
<vxe-form-item title="名称" field="name" span="12" :item-render="{}">
|
|
147
|
+
<template #default="params">
|
|
148
|
+
<vxe-input v-model="formData.name""></vxe-input>
|
|
149
|
+
</template>
|
|
150
|
+
</vxe-form-item>
|
|
151
|
+
<vxe-form-item title="角色" field="role" span="12" :item-render="{}">
|
|
152
|
+
<template #default="params">
|
|
153
|
+
<vxe-input v-model="formData.role"></vxe-input>
|
|
154
|
+
</template>
|
|
155
|
+
</vxe-form-item>
|
|
156
|
+
<vxe-form-item title="年龄" field="age" span="12" :item-render="{}">
|
|
157
|
+
<template #default="params">
|
|
158
|
+
<vxe-input v-model="formData.age"></vxe-input>
|
|
159
|
+
</template>
|
|
160
|
+
</vxe-form-item>
|
|
161
|
+
<vxe-form-item align="center" span="24" :item-render="{}">
|
|
162
|
+
<template #default>
|
|
163
|
+
<vxe-button type="submit" status="primary">提交</vxe-button>
|
|
164
|
+
<vxe-button type="reset">重置</vxe-button>
|
|
165
|
+
</template>
|
|
166
|
+
</vxe-form-item>
|
|
167
|
+
</vxe-form>
|
|
168
|
+
</div>
|
|
169
|
+
</template>
|
|
170
|
+
|
|
171
|
+
<script lang="ts" setup>
|
|
172
|
+
import { ref } from 'vue'
|
|
173
|
+
import { VxeUI, VxeFormInstance, VxeFormEvents } from 'vxe-pc-ui'
|
|
174
|
+
|
|
175
|
+
interface FormDataVO {
|
|
176
|
+
name: string
|
|
177
|
+
nickname: string
|
|
178
|
+
sex: string
|
|
179
|
+
role: string
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
const formRef = ref<VxeFormInstance<FormDataVO>>()
|
|
183
|
+
|
|
184
|
+
const formData = ref<FormDataVO>({
|
|
185
|
+
name: '',
|
|
186
|
+
nickname: '',
|
|
187
|
+
sex: '',
|
|
188
|
+
role: ''
|
|
189
|
+
})
|
|
190
|
+
|
|
191
|
+
const submitEvent: VxeFormEvents.Submit = () => {
|
|
192
|
+
VxeUI.modal.message({ content: '保存成功', status: 'success' })
|
|
193
|
+
}
|
|
194
|
+
</script>
|
|
114
195
|
```
|
|
115
196
|
|
|
116
197
|
## QQ 交流群
|
package/es/anchor/src/anchor.js
CHANGED
|
@@ -196,8 +196,8 @@ export default defineComponent({
|
|
|
196
196
|
onBeforeUnmount(() => {
|
|
197
197
|
removeContainerElemScroll();
|
|
198
198
|
});
|
|
199
|
-
$xeAnchor.renderVN = renderVN;
|
|
200
199
|
provide('$xeAnchor', $xeAnchor);
|
|
200
|
+
$xeAnchor.renderVN = renderVN;
|
|
201
201
|
return $xeAnchor;
|
|
202
202
|
},
|
|
203
203
|
render() {
|
|
@@ -61,8 +61,8 @@ export default defineComponent({
|
|
|
61
61
|
class: 'vxe-breadcrumb'
|
|
62
62
|
}, defaultSlot ? defaultSlot({}) : renderItems());
|
|
63
63
|
};
|
|
64
|
-
$xeBreadcrumb.renderVN = renderVN;
|
|
65
64
|
provide('$xeBreadcrumb', $xeBreadcrumb);
|
|
65
|
+
$xeBreadcrumb.renderVN = renderVN;
|
|
66
66
|
return $xeBreadcrumb;
|
|
67
67
|
},
|
|
68
68
|
render() {
|
|
@@ -8,22 +8,46 @@ export default defineComponent({
|
|
|
8
8
|
name: 'VxeCalendar',
|
|
9
9
|
props: {
|
|
10
10
|
modelValue: [String, Number, Date],
|
|
11
|
-
type: {
|
|
11
|
+
type: {
|
|
12
|
+
type: String,
|
|
13
|
+
default: 'date'
|
|
14
|
+
},
|
|
12
15
|
className: String,
|
|
13
|
-
size: {
|
|
16
|
+
size: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: () => getConfig().calendar.size || getConfig().size
|
|
19
|
+
},
|
|
14
20
|
multiple: Boolean,
|
|
15
21
|
width: [String, Number],
|
|
16
22
|
height: [String, Number],
|
|
17
23
|
// date、week、month、quarter、year
|
|
18
|
-
minDate: {
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
minDate: {
|
|
25
|
+
type: [String, Number, Date],
|
|
26
|
+
default: () => getConfig().calendar.minDate
|
|
27
|
+
},
|
|
28
|
+
maxDate: {
|
|
29
|
+
type: [String, Number, Date],
|
|
30
|
+
default: () => getConfig().calendar.maxDate
|
|
31
|
+
},
|
|
32
|
+
startDay: {
|
|
33
|
+
type: [String, Number],
|
|
34
|
+
default: () => getConfig().calendar.startDay
|
|
35
|
+
},
|
|
21
36
|
labelFormat: String,
|
|
22
37
|
valueFormat: String,
|
|
23
|
-
festivalMethod: {
|
|
24
|
-
|
|
38
|
+
festivalMethod: {
|
|
39
|
+
type: Function,
|
|
40
|
+
default: () => getConfig().calendar.festivalMethod
|
|
41
|
+
},
|
|
42
|
+
disabledMethod: {
|
|
43
|
+
type: Function,
|
|
44
|
+
default: () => getConfig().calendar.disabledMethod
|
|
45
|
+
},
|
|
25
46
|
// week
|
|
26
|
-
selectDay: {
|
|
47
|
+
selectDay: {
|
|
48
|
+
type: [String, Number],
|
|
49
|
+
default: () => getConfig().calendar.selectDay
|
|
50
|
+
}
|
|
27
51
|
},
|
|
28
52
|
emits: [
|
|
29
53
|
'update:modelValue',
|
|
@@ -37,9 +61,6 @@ export default defineComponent({
|
|
|
37
61
|
const { emit } = context;
|
|
38
62
|
const xID = XEUtils.uniqueId();
|
|
39
63
|
const { computeSize } = useSize(props);
|
|
40
|
-
const yearSize = 12;
|
|
41
|
-
const monthSize = 20;
|
|
42
|
-
const quarterSize = 8;
|
|
43
64
|
const reactData = reactive({
|
|
44
65
|
selectValue: props.modelValue,
|
|
45
66
|
inputValue: props.modelValue,
|
|
@@ -49,18 +70,12 @@ export default defineComponent({
|
|
|
49
70
|
selectMonth: null,
|
|
50
71
|
currentDate: null
|
|
51
72
|
});
|
|
73
|
+
const internalData = {
|
|
74
|
+
yearSize: 12,
|
|
75
|
+
monthSize: 20,
|
|
76
|
+
quarterSize: 8
|
|
77
|
+
};
|
|
52
78
|
const refElem = ref();
|
|
53
|
-
const computeCalendarStyle = computed(() => {
|
|
54
|
-
const { height, width } = props;
|
|
55
|
-
const stys = {};
|
|
56
|
-
if (width) {
|
|
57
|
-
stys.width = toCssUnit(width);
|
|
58
|
-
}
|
|
59
|
-
if (height) {
|
|
60
|
-
stys.height = toCssUnit(height);
|
|
61
|
-
}
|
|
62
|
-
return stys;
|
|
63
|
-
});
|
|
64
79
|
const refMaps = {
|
|
65
80
|
refElem
|
|
66
81
|
};
|
|
@@ -69,12 +84,21 @@ export default defineComponent({
|
|
|
69
84
|
props,
|
|
70
85
|
context,
|
|
71
86
|
reactData,
|
|
87
|
+
internalData,
|
|
72
88
|
getRefMaps: () => refMaps
|
|
73
89
|
};
|
|
74
90
|
let calendarMethods = {};
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
91
|
+
const computeCalendarStyle = computed(() => {
|
|
92
|
+
const { height, width } = props;
|
|
93
|
+
const stys = {};
|
|
94
|
+
if (width) {
|
|
95
|
+
stys.width = toCssUnit(width);
|
|
96
|
+
}
|
|
97
|
+
if (height) {
|
|
98
|
+
stys.height = toCssUnit(height);
|
|
99
|
+
}
|
|
100
|
+
return stys;
|
|
101
|
+
});
|
|
78
102
|
const computeIsDisabled = computed(() => {
|
|
79
103
|
return false;
|
|
80
104
|
});
|
|
@@ -167,6 +191,7 @@ export default defineComponent({
|
|
|
167
191
|
});
|
|
168
192
|
const computeYearList = computed(() => {
|
|
169
193
|
const { selectMonth, currentDate } = reactData;
|
|
194
|
+
const { yearSize } = internalData;
|
|
170
195
|
const years = [];
|
|
171
196
|
if (selectMonth && currentDate) {
|
|
172
197
|
const currFullYear = currentDate.getFullYear();
|
|
@@ -260,6 +285,7 @@ export default defineComponent({
|
|
|
260
285
|
});
|
|
261
286
|
const computeQuarterList = computed(() => {
|
|
262
287
|
const { selectMonth, currentDate } = reactData;
|
|
288
|
+
const { quarterSize } = internalData;
|
|
263
289
|
const quarters = [];
|
|
264
290
|
if (selectMonth && currentDate) {
|
|
265
291
|
const currFullYear = currentDate.getFullYear();
|
|
@@ -289,6 +315,7 @@ export default defineComponent({
|
|
|
289
315
|
});
|
|
290
316
|
const computeMonthList = computed(() => {
|
|
291
317
|
const { selectMonth, currentDate } = reactData;
|
|
318
|
+
const { monthSize } = internalData;
|
|
292
319
|
const months = [];
|
|
293
320
|
if (selectMonth && currentDate) {
|
|
294
321
|
const currFullYear = currentDate.getFullYear();
|
|
@@ -368,7 +395,10 @@ export default defineComponent({
|
|
|
368
395
|
return [item].concat(list);
|
|
369
396
|
});
|
|
370
397
|
});
|
|
371
|
-
const
|
|
398
|
+
const parseDate = (value, format) => {
|
|
399
|
+
return XEUtils.toStringDate(value, format);
|
|
400
|
+
};
|
|
401
|
+
const handleChange = (value, evnt) => {
|
|
372
402
|
reactData.inputValue = value;
|
|
373
403
|
emit('update:modelValue', value);
|
|
374
404
|
if (XEUtils.toValueString(props.modelValue) !== value) {
|
|
@@ -449,16 +479,16 @@ export default defineComponent({
|
|
|
449
479
|
const dateMultipleValue = computeDateMultipleValue.value;
|
|
450
480
|
// 如果是日期类型
|
|
451
481
|
if (dateMultipleValue.some(val => XEUtils.isEqual(val, inpVal))) {
|
|
452
|
-
|
|
482
|
+
handleChange(dateMultipleValue.filter(val => !XEUtils.isEqual(val, inpVal)).join(','), { type: 'update' });
|
|
453
483
|
}
|
|
454
484
|
else {
|
|
455
|
-
|
|
485
|
+
handleChange(dateMultipleValue.concat([inpVal]).join(','), { type: 'update' });
|
|
456
486
|
}
|
|
457
487
|
}
|
|
458
488
|
else {
|
|
459
489
|
// 如果为单选
|
|
460
490
|
if (!XEUtils.isEqual(modelValue, inpVal)) {
|
|
461
|
-
|
|
491
|
+
handleChange(inpVal, { type: 'update' });
|
|
462
492
|
}
|
|
463
493
|
}
|
|
464
494
|
};
|
|
@@ -483,6 +513,7 @@ export default defineComponent({
|
|
|
483
513
|
const datePrevEvent = (evnt) => {
|
|
484
514
|
const { type } = props;
|
|
485
515
|
const { datePanelType, selectMonth } = reactData;
|
|
516
|
+
const { yearSize } = internalData;
|
|
486
517
|
const isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value;
|
|
487
518
|
if (!isDisabledPrevDateBtn) {
|
|
488
519
|
if (type === 'year') {
|
|
@@ -520,6 +551,7 @@ export default defineComponent({
|
|
|
520
551
|
const dateNextEvent = (evnt) => {
|
|
521
552
|
const { type } = props;
|
|
522
553
|
const { datePanelType, selectMonth } = reactData;
|
|
554
|
+
const { yearSize } = internalData;
|
|
523
555
|
const isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value;
|
|
524
556
|
if (!isDisabledNextDateBtn) {
|
|
525
557
|
if (type === 'year') {
|
|
@@ -682,13 +714,13 @@ export default defineComponent({
|
|
|
682
714
|
}]
|
|
683
715
|
}, extraItem && extraItem.label
|
|
684
716
|
? [
|
|
685
|
-
h('span', label),
|
|
717
|
+
h('span', `${label || ''}`),
|
|
686
718
|
h('span', {
|
|
687
719
|
class: ['vxe-calendar--date-label--extra', extraItem.important ? 'is-important' : '', extraItem.className],
|
|
688
720
|
style: extraItem.style
|
|
689
721
|
}, XEUtils.toValueString(extraItem.label))
|
|
690
722
|
]
|
|
691
|
-
: label)
|
|
723
|
+
: [`${label || ''}`])
|
|
692
724
|
];
|
|
693
725
|
const festivalLabel = festivalItem.label;
|
|
694
726
|
if (festivalLabel) {
|
|
@@ -709,7 +741,7 @@ export default defineComponent({
|
|
|
709
741
|
}
|
|
710
742
|
return labels;
|
|
711
743
|
}
|
|
712
|
-
return label
|
|
744
|
+
return `${label || ''}`;
|
|
713
745
|
};
|
|
714
746
|
const renderDateDayTable = () => {
|
|
715
747
|
const { multiple } = props;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { defineComponent, ref, h, reactive, inject, watch, onMounted, onUnmounted } from 'vue';
|
|
2
|
+
import { createEvent } from '../../ui';
|
|
2
3
|
import { assembleCarouselItem, destroyCarouselItem } from './util';
|
|
3
4
|
import XEUtils from 'xe-utils';
|
|
4
5
|
export default defineComponent({
|
|
@@ -10,7 +11,7 @@ export default defineComponent({
|
|
|
10
11
|
},
|
|
11
12
|
emits: [],
|
|
12
13
|
setup(props, context) {
|
|
13
|
-
const { slots } = context;
|
|
14
|
+
const { slots, emit } = context;
|
|
14
15
|
const $xeCarousel = inject('$xeCarousel', null);
|
|
15
16
|
const xID = XEUtils.uniqueId();
|
|
16
17
|
const refElem = ref();
|
|
@@ -34,6 +35,14 @@ export default defineComponent({
|
|
|
34
35
|
getRefMaps: () => refMaps,
|
|
35
36
|
getComputeMaps: () => computeMaps
|
|
36
37
|
};
|
|
38
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
39
|
+
emit(type, createEvent(evnt, { $carouselItem: $xeCarouselItem }, params));
|
|
40
|
+
};
|
|
41
|
+
const carouselItemMethods = {
|
|
42
|
+
dispatchEvent
|
|
43
|
+
};
|
|
44
|
+
const carouselItemPrivateMethods = {};
|
|
45
|
+
Object.assign($xeCarouselItem, carouselItemMethods, carouselItemPrivateMethods);
|
|
37
46
|
const renderVN = () => {
|
|
38
47
|
return h('div', {
|
|
39
48
|
ref: refElem
|
|
@@ -46,8 +55,9 @@ export default defineComponent({
|
|
|
46
55
|
itemConfig.url = val;
|
|
47
56
|
});
|
|
48
57
|
onMounted(() => {
|
|
49
|
-
|
|
50
|
-
|
|
58
|
+
const elem = refElem.value;
|
|
59
|
+
if ($xeCarousel && elem) {
|
|
60
|
+
assembleCarouselItem($xeCarousel, elem, itemConfig);
|
|
51
61
|
}
|
|
52
62
|
});
|
|
53
63
|
onUnmounted(() => {
|
|
@@ -54,6 +54,10 @@ export default defineComponent({
|
|
|
54
54
|
itemWidth: 0,
|
|
55
55
|
itemHeight: 0
|
|
56
56
|
});
|
|
57
|
+
const internalData = {
|
|
58
|
+
apTimeout: undefined,
|
|
59
|
+
stopFlag: false
|
|
60
|
+
};
|
|
57
61
|
const refMaps = {
|
|
58
62
|
refElem
|
|
59
63
|
};
|
|
@@ -78,6 +82,7 @@ export default defineComponent({
|
|
|
78
82
|
props,
|
|
79
83
|
context,
|
|
80
84
|
reactData,
|
|
85
|
+
internalData,
|
|
81
86
|
getRefMaps: () => refMaps,
|
|
82
87
|
getComputeMaps: () => computeMaps
|
|
83
88
|
};
|
|
@@ -181,20 +186,21 @@ export default defineComponent({
|
|
|
181
186
|
emit('change', { value }, evnt);
|
|
182
187
|
}
|
|
183
188
|
};
|
|
184
|
-
let apTimeout = null;
|
|
185
|
-
let stopFlag = false;
|
|
186
189
|
const stopAutoPlay = () => {
|
|
187
|
-
|
|
188
|
-
|
|
190
|
+
const { apTimeout } = internalData;
|
|
191
|
+
internalData.stopFlag = true;
|
|
192
|
+
if (apTimeout) {
|
|
189
193
|
clearTimeout(apTimeout);
|
|
194
|
+
internalData.apTimeout = undefined;
|
|
190
195
|
}
|
|
191
196
|
};
|
|
192
197
|
const handleAutoPlay = () => {
|
|
193
198
|
const { autoPlay, interval } = props;
|
|
199
|
+
const { stopFlag } = internalData;
|
|
194
200
|
stopAutoPlay();
|
|
195
201
|
if (autoPlay) {
|
|
196
|
-
stopFlag = false;
|
|
197
|
-
apTimeout = setTimeout(() => {
|
|
202
|
+
internalData.stopFlag = false;
|
|
203
|
+
internalData.apTimeout = setTimeout(() => {
|
|
198
204
|
if (!stopFlag) {
|
|
199
205
|
handlePrevNext(true);
|
|
200
206
|
}
|
|
@@ -294,7 +300,9 @@ export default defineComponent({
|
|
|
294
300
|
height: toCssUnit(height)
|
|
295
301
|
}
|
|
296
302
|
: null
|
|
297
|
-
},
|
|
303
|
+
}, [
|
|
304
|
+
renderItemWrapper(list)
|
|
305
|
+
]),
|
|
298
306
|
showIndicators ? renderIndicators(list) : createCommentVNode(),
|
|
299
307
|
h('div', {
|
|
300
308
|
class: 'vxe-carousel--btn-wrapper'
|
|
@@ -325,7 +333,6 @@ export default defineComponent({
|
|
|
325
333
|
})
|
|
326
334
|
]);
|
|
327
335
|
};
|
|
328
|
-
$xeCarousel.renderVN = renderVN;
|
|
329
336
|
const optsFlag = ref(0);
|
|
330
337
|
watch(() => props.options ? props.options.length : -1, () => {
|
|
331
338
|
optsFlag.value++;
|
|
@@ -358,6 +365,7 @@ export default defineComponent({
|
|
|
358
365
|
stopAutoPlay();
|
|
359
366
|
});
|
|
360
367
|
provide('$xeCarousel', $xeCarousel);
|
|
368
|
+
$xeCarousel.renderVN = renderVN;
|
|
361
369
|
return $xeCarousel;
|
|
362
370
|
},
|
|
363
371
|
render() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, h, computed, inject } from 'vue';
|
|
1
|
+
import { defineComponent, h, computed, inject, reactive } from 'vue';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
3
|
import { getFuncText } from '../../ui/src/utils';
|
|
4
4
|
import { getConfig, createEvent, useSize, getIcon } from '../../ui';
|
|
@@ -6,17 +6,29 @@ export default defineComponent({
|
|
|
6
6
|
name: 'VxeCheckbox',
|
|
7
7
|
props: {
|
|
8
8
|
modelValue: [String, Number, Boolean],
|
|
9
|
-
label: {
|
|
9
|
+
label: {
|
|
10
|
+
type: [String, Number],
|
|
11
|
+
default: null
|
|
12
|
+
},
|
|
10
13
|
indeterminate: Boolean,
|
|
11
14
|
title: [String, Number],
|
|
12
|
-
checkedValue: {
|
|
13
|
-
|
|
15
|
+
checkedValue: {
|
|
16
|
+
type: [String, Number, Boolean],
|
|
17
|
+
default: true
|
|
18
|
+
},
|
|
19
|
+
uncheckedValue: {
|
|
20
|
+
type: [String, Number, Boolean],
|
|
21
|
+
default: false
|
|
22
|
+
},
|
|
14
23
|
content: [String, Number],
|
|
15
24
|
disabled: {
|
|
16
25
|
type: Boolean,
|
|
17
26
|
default: null
|
|
18
27
|
},
|
|
19
|
-
size: {
|
|
28
|
+
size: {
|
|
29
|
+
type: String,
|
|
30
|
+
default: () => getConfig().checkbox.size || getConfig().size
|
|
31
|
+
}
|
|
20
32
|
},
|
|
21
33
|
emits: [
|
|
22
34
|
'update:modelValue',
|
|
@@ -28,10 +40,12 @@ export default defineComponent({
|
|
|
28
40
|
const formItemInfo = inject('xeFormItemInfo', null);
|
|
29
41
|
const $xeCheckboxGroup = inject('$xeCheckboxGroup', null);
|
|
30
42
|
const xID = XEUtils.uniqueId();
|
|
43
|
+
const reactData = reactive({});
|
|
31
44
|
const $xeCheckbox = {
|
|
32
45
|
xID,
|
|
33
46
|
props,
|
|
34
|
-
context
|
|
47
|
+
context,
|
|
48
|
+
reactData
|
|
35
49
|
};
|
|
36
50
|
let checkboxMethods = {};
|
|
37
51
|
const { computeSize } = useSize(props);
|
|
@@ -43,12 +57,13 @@ export default defineComponent({
|
|
|
43
57
|
});
|
|
44
58
|
const computeIsDisabled = computed(() => {
|
|
45
59
|
const { disabled } = props;
|
|
60
|
+
const isChecked = computeIsChecked.value;
|
|
46
61
|
if (disabled === null) {
|
|
47
62
|
if ($xeCheckboxGroup) {
|
|
48
|
-
const { computeIsDisabled, computeIsMaximize } = $xeCheckboxGroup.getComputeMaps();
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
return
|
|
63
|
+
const { computeIsDisabled: computeIsGroupDisabled, computeIsMaximize: computeIsGroupMaximize } = $xeCheckboxGroup.getComputeMaps();
|
|
64
|
+
const isGroupDisabled = computeIsGroupDisabled.value;
|
|
65
|
+
const isGroupMaximize = computeIsGroupMaximize.value;
|
|
66
|
+
return isGroupDisabled || (isGroupMaximize && !isChecked);
|
|
52
67
|
}
|
|
53
68
|
}
|
|
54
69
|
return disabled;
|
|
@@ -73,17 +88,18 @@ export default defineComponent({
|
|
|
73
88
|
}
|
|
74
89
|
}
|
|
75
90
|
};
|
|
91
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
92
|
+
emit(type, createEvent(evnt, { $checkbox: $xeCheckbox }, params));
|
|
93
|
+
};
|
|
76
94
|
checkboxMethods = {
|
|
77
|
-
dispatchEvent
|
|
78
|
-
emit(type, createEvent(evnt, { $checkbox: $xeCheckbox }, params));
|
|
79
|
-
}
|
|
95
|
+
dispatchEvent
|
|
80
96
|
};
|
|
81
97
|
Object.assign($xeCheckbox, checkboxMethods);
|
|
82
98
|
const renderVN = () => {
|
|
83
99
|
const vSize = computeSize.value;
|
|
84
100
|
const isDisabled = computeIsDisabled.value;
|
|
85
101
|
const isChecked = computeIsChecked.value;
|
|
86
|
-
const indeterminate = props.indeterminate;
|
|
102
|
+
const indeterminate = !isChecked && props.indeterminate;
|
|
87
103
|
return h('label', {
|
|
88
104
|
class: ['vxe-checkbox', {
|
|
89
105
|
[`size--${vSize}`]: vSize,
|
package/es/checkbox/src/group.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, h, provide, computed, inject } from 'vue';
|
|
1
|
+
import { defineComponent, h, provide, computed, inject, reactive } from 'vue';
|
|
2
2
|
import { getConfig, createEvent, useSize } from '../../ui';
|
|
3
3
|
import XEUtils from 'xe-utils';
|
|
4
4
|
import VxeCheckboxComponent from './checkbox';
|
|
@@ -12,8 +12,14 @@ export default defineComponent({
|
|
|
12
12
|
type: Boolean,
|
|
13
13
|
default: null
|
|
14
14
|
},
|
|
15
|
-
max: {
|
|
16
|
-
|
|
15
|
+
max: {
|
|
16
|
+
type: [String, Number],
|
|
17
|
+
default: null
|
|
18
|
+
},
|
|
19
|
+
size: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: () => getConfig().checkboxGroup.size || getConfig().size
|
|
22
|
+
}
|
|
17
23
|
},
|
|
18
24
|
emits: [
|
|
19
25
|
'update:modelValue',
|
|
@@ -24,6 +30,7 @@ export default defineComponent({
|
|
|
24
30
|
const $xeForm = inject('$xeForm', null);
|
|
25
31
|
const formItemInfo = inject('xeFormItemInfo', null);
|
|
26
32
|
const xID = XEUtils.uniqueId();
|
|
33
|
+
const reactData = reactive({});
|
|
27
34
|
const computeIsDisabled = computed(() => {
|
|
28
35
|
const { disabled } = props;
|
|
29
36
|
if (disabled === null) {
|
|
@@ -42,7 +49,7 @@ export default defineComponent({
|
|
|
42
49
|
return false;
|
|
43
50
|
});
|
|
44
51
|
const computePropsOpts = computed(() => {
|
|
45
|
-
return props.optionProps
|
|
52
|
+
return Object.assign({}, props.optionProps);
|
|
46
53
|
});
|
|
47
54
|
const computeLabelField = computed(() => {
|
|
48
55
|
const propsOpts = computePropsOpts.value;
|
|
@@ -64,13 +71,15 @@ export default defineComponent({
|
|
|
64
71
|
xID,
|
|
65
72
|
props,
|
|
66
73
|
context,
|
|
74
|
+
reactData,
|
|
67
75
|
getComputeMaps: () => computeMaps
|
|
68
76
|
};
|
|
69
77
|
useSize(props);
|
|
78
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
79
|
+
emit(type, createEvent(evnt, { $checkboxGroup: $xeCheckboxGroup }, params));
|
|
80
|
+
};
|
|
70
81
|
const checkboxGroupMethods = {
|
|
71
|
-
dispatchEvent
|
|
72
|
-
emit(type, createEvent(evnt, { $checkboxGroup: $xeCheckboxGroup }, params));
|
|
73
|
-
}
|
|
82
|
+
dispatchEvent
|
|
74
83
|
};
|
|
75
84
|
const checkboxGroupPrivateMethods = {
|
|
76
85
|
handleChecked(params, evnt) {
|
|
@@ -114,8 +123,8 @@ export default defineComponent({
|
|
|
114
123
|
})
|
|
115
124
|
: []));
|
|
116
125
|
};
|
|
117
|
-
$xeCheckboxGroup.renderVN = renderVN;
|
|
118
126
|
provide('$xeCheckboxGroup', $xeCheckboxGroup);
|
|
127
|
+
$xeCheckboxGroup.renderVN = renderVN;
|
|
119
128
|
return renderVN;
|
|
120
129
|
}
|
|
121
130
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
|
-
import VxeCollapsePaneComponent from '
|
|
2
|
+
import VxeCollapsePaneComponent from '../collapse/src/collapse-pane';
|
|
3
3
|
import { dynamicApp } from '../dynamics';
|
|
4
4
|
export const VxeCollapsePane = Object.assign({}, VxeCollapsePaneComponent, {
|
|
5
5
|
install(app) {
|
|
@@ -203,7 +203,6 @@ export default defineComponent({
|
|
|
203
203
|
: createCommentVNode()
|
|
204
204
|
]);
|
|
205
205
|
};
|
|
206
|
-
$xeCountdown.renderVN = renderVN;
|
|
207
206
|
watch(() => props.modelValue, () => {
|
|
208
207
|
updateCount();
|
|
209
208
|
handleStop();
|
|
@@ -216,6 +215,7 @@ export default defineComponent({
|
|
|
216
215
|
handleStart();
|
|
217
216
|
});
|
|
218
217
|
updateCount();
|
|
218
|
+
$xeCountdown.renderVN = renderVN;
|
|
219
219
|
return $xeCountdown;
|
|
220
220
|
},
|
|
221
221
|
render() {
|