Skip to content

Commit 7a1b56d

Browse files
committed
releases 4.11.29
1 parent 3df9ed0 commit 7a1b56d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+3231
-30
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
* [x] anchor 锚点
7070
* [x] anchor-link 锚点-链接
7171
* [x] avatar 头像
72+
* [ ] backtop 回到顶部
7273
* [x] badge 徽标
7374
* [x] breadcrumb 面包屑
7475
* [x] breadcrumb-item 面包屑-项
@@ -78,6 +79,7 @@
7879
* [x] card 卡片
7980
* [x] carousel 走马灯
8081
* [x] carousel-item 走马灯 - 项
82+
* [ ] cascader 级联选择器
8183
* [x] checkbox 复选框
8284
* [x] checkbox-button 复选框-按钮
8385
* [x] checkbox-group 复选框-组
@@ -107,6 +109,7 @@
107109
* [x] link 链接
108110
* [x] list 虚拟列表
109111
* [x] loading 加载中
112+
* [ ] mention 提及
110113
* [x] menu 菜单
111114
* [x] modal 模态窗口
112115
* [x] number-input 数值输入框
@@ -121,6 +124,7 @@
121124
* [x] rate 评分
122125
* [x] result 结果
123126
* [x] row 行
127+
* [ ] segmented 分段控制器
124128
* [x] select 下拉框
125129
* [x] optgroup 下拉框-分组项
126130
* [x] option 下拉框-项
@@ -134,6 +138,8 @@
134138
* [x] text-ellipsis 多行文本溢出
135139
* [x] table-select 表格下拉框
136140
* [x] textarea 文本域
141+
* [ ] timeline 时间线
142+
* [ ] timeline-item 时间线-项
137143
* [x] tip 提示
138144
* [x] tooltip 文字提示
139145
* [x] tree 树形组件

examples/App.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,10 @@ const navList = ref<VxeMenuPropTypes.Options>([
9898
{ name: 'RateTest', routerLink: { name: 'RateTest' } },
9999
{ name: 'TableSelect', routerLink: { name: 'TableSelect' } },
100100
{ name: 'ColorPickerTest', routerLink: { name: 'ColorPickerTest' } },
101-
{ name: 'SplitterTest', routerLink: { name: 'SplitterTest' } }
101+
{ name: 'SplitterTest', routerLink: { name: 'SplitterTest' } },
102+
{ name: 'CascaderTest', routerLink: { name: 'CascaderTest' } },
103+
{ name: 'SegmentedTest', routerLink: { name: 'SegmentedTest' } },
104+
{ name: 'BacktopTest', routerLink: { name: 'BacktopTest' } }
102105
])
103106
104107
const theme = ref((localStorage.getItem('VXE_THEME') as 'light' | 'dark') || 'light')

examples/router/index.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,21 @@ const routes: Array<RouteRecordRaw> = [
294294
path: '/component/splitter',
295295
name: 'SplitterTest',
296296
component: () => import('../views/splitter/SplitterTest.vue')
297+
},
298+
{
299+
path: '/component/cascader',
300+
name: 'CascaderTest',
301+
component: () => import('../views/cascader/CascaderTest.vue')
302+
},
303+
{
304+
path: '/component/segmented',
305+
name: 'SegmentedTest',
306+
component: () => import('../views/segmented/SegmentedTest.vue')
307+
},
308+
{
309+
path: '/component/backtop',
310+
name: 'BacktopTest',
311+
component: () => import('../views/backtop/BacktopTest.vue')
297312
}
298313
]
299314

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<template>
2+
<div>
3+
<div style="position: relative;">
4+
<div id="container111" style="border: 1px solid red;height: 400px;overflow: auto;">
5+
<div>sdfsdsf</div>
6+
<div>sdfsdsf</div>
7+
<div>sdfsdsf</div>
8+
<div>sdfsdsf</div>
9+
<div>sdfsdsf</div>
10+
<div>sdfsdsf</div>
11+
<div>sdfrtysdsf</div>
12+
<div>sdfsdsf</div>
13+
<div>sdfsdsf</div>
14+
<div>sdfsdrtysf</div>
15+
<div>sdfsdsf</div>
16+
<div>sdfsdsf</div>
17+
<div>sdfsdsf</div>
18+
<div>sdfsertdsf</div>
19+
<div>sdfsdsf</div>
20+
<div>sdfsdsf</div>
21+
<div>sdfsdsf</div>
22+
<div style="height: 3000px;">sdfsfdsdsf</div>
23+
<div>sdfsdsf</div>
24+
<div>sdfsdsf</div>
25+
<div>sdfsdfdfssf</div>
26+
<div>sdfsdsf</div>
27+
<div>sdfsdsf</div>
28+
<div>sdfsdsf</div>
29+
<div>sdfsdsftry</div>
30+
<div>sdfsrtydsf</div>
31+
<div>sdfsdsf</div>
32+
<div>sdfsdsf</div>
33+
<div>sdfsdsf</div>
34+
<div>sdfsdtrysf</div>
35+
<div>sdfsdsf</div>
36+
<div>sdfsdfdfssf</div>
37+
<div>sdfsdsf</div>
38+
<div>sdfsdsf</div>
39+
<div>sdfsdsf</div>
40+
<div>sdfsdsftry</div>
41+
<div>sdfsrtydsf</div>
42+
<div>sdfsdsf</div>
43+
<div>sdfsdsf</div>
44+
<div>sdfsdsf</div>
45+
<div>sdfsdtrysf</div>
46+
<div>sdfsdsf</div>
47+
</div>
48+
<vxe-backtop target="#container111" status="primary"></vxe-backtop>
49+
</div>
50+
</div>
51+
</template>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<template>
2+
<div>
3+
<vxe-cascader v-model="val1" :options="treeList" :lazy-options="lazyList" :treeConfig="treeConfig" multiple clearable></vxe-cascader>
4+
</div>
5+
</template>
6+
7+
<script lang="ts" setup>
8+
import { ref, reactive } from 'vue'
9+
import { VxeTreeSelectPropTypes } from '../../../types'
10+
11+
interface NodeVO {
12+
label: string
13+
value: string
14+
hasChild?: boolean
15+
}
16+
17+
const val1 = ref(['4-2'])
18+
19+
const treeConfig = reactive<VxeTreeSelectPropTypes.TreeConfig>({
20+
lazy: true,
21+
loadMethod ({ node }) {
22+
return getNodeListApi(node)
23+
}
24+
})
25+
26+
const treeList = ref<VxeTreeSelectPropTypes.Options>([
27+
{ label: '节点2', value: '2', hasChild: true },
28+
{ label: '节点3', value: '3', hasChild: true },
29+
{ label: '节点4', value: '4', hasChild: true },
30+
{ label: '节点5', value: '5', hasChild: false }
31+
])
32+
33+
const lazyList = ref<VxeTreeSelectPropTypes.Options>([
34+
{ label: '节点4-2', value: '4-2' }
35+
])
36+
37+
let treeKey = 1
38+
const getNodeListApi = (node: any) => {
39+
return new Promise<NodeVO[]>(resolve => {
40+
// 模拟后端接口
41+
setTimeout(() => {
42+
resolve([
43+
{ label: `节点${node.value}-${treeKey}`, value: `${node.value}-${treeKey}`, hasChild: Math.random() * 10 < 6 },
44+
{ label: `节点${node.value}-${treeKey + 1}`, value: `${node.value}-${treeKey + 1}`, hasChild: Math.random() * 10 < 6 }
45+
])
46+
treeKey += 2
47+
}, 500)
48+
})
49+
}
50+
</script>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<template>
2+
<div>
3+
<div>
4+
<vxe-segmented v-model="val1" :options="optList"></vxe-segmented>
5+
<vxe-segmented v-model="val2" :options="optList" status="primary"></vxe-segmented>
6+
<vxe-segmented v-model="val3" :options="optList" status="success"></vxe-segmented>
7+
<vxe-segmented v-model="val4" :options="optList" status="info"></vxe-segmented>
8+
<vxe-segmented v-model="val5" :options="optList" status="warning"></vxe-segmented>
9+
<vxe-segmented v-model="val6" :options="optList" status="error"></vxe-segmented>
10+
</div>
11+
</div>
12+
</template>
13+
14+
<script lang="ts" setup>
15+
import { ref } from 'vue'
16+
17+
const val1 = ref('1')
18+
const val2 = ref('2')
19+
const val3 = ref('3')
20+
const val4 = ref('4')
21+
const val5 = ref('5')
22+
const val6 = ref('6')
23+
const optList = [
24+
{ label: '选项1', value: '1' },
25+
{ label: '选项2', value: '2' },
26+
{ label: '选项3', value: '3' },
27+
{ label: '选项4', value: '4' },
28+
{ label: '选项5', value: '5' },
29+
{ label: '选项6', value: '6' },
30+
{ label: '选项7', value: '7' }
31+
]
32+
</script>

gulpfile.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const componentList = [
3434
'anchor',
3535
'anchor-link',
3636
'avatar',
37+
'backtop',
3738
'badge',
3839
'breadcrumb',
3940
'breadcrumb-item',
@@ -43,6 +44,7 @@ const componentList = [
4344
'card',
4445
'carousel',
4546
'carousel-item',
47+
'cascader',
4648
'checkbox',
4749
'checkbox-button',
4850
'checkbox-group',
@@ -74,6 +76,7 @@ const componentList = [
7476
'link',
7577
'list',
7678
'loading',
79+
'mention',
7780
'menu',
7881
'modal',
7982
'notice-bar',
@@ -91,6 +94,7 @@ const componentList = [
9194
'rate',
9295
'result',
9396
'row',
97+
'segmented',
9498
'select',
9599
'splitter',
96100
'splitter-panel',
@@ -106,8 +110,11 @@ const componentList = [
106110
'text-ellipsis',
107111
'text',
108112
'textarea',
113+
'timeline',
114+
'timeline-item',
109115
'tip',
110116
'tooltip',
117+
'tour',
111118
'tree',
112119
'tree-select',
113120
'upload',

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vxe-pc-ui",
3-
"version": "4.11.28",
3+
"version": "4.11.29",
44
"description": "A vue based PC component library",
55
"scripts": {
66
"update": "npm install --legacy-peer-deps",

packages/backtop/index.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { App } from 'vue'
2+
import { VxeUI } from '@vxe-ui/core'
3+
import VxeBacktopComponent from './src/backtop'
4+
import { dynamicApp } from '../dynamics'
5+
6+
export const VxeBacktop = Object.assign({}, VxeBacktopComponent, {
7+
install (app: App) {
8+
app.component(VxeBacktopComponent.name as string, VxeBacktopComponent)
9+
}
10+
})
11+
12+
dynamicApp.use(VxeBacktop)
13+
VxeUI.component(VxeBacktopComponent)
14+
15+
export const Backtop = VxeBacktop
16+
export default VxeBacktop

0 commit comments

Comments
 (0)