Skip to content

Commit d63cc0d

Browse files
author
Guillaume Chau
committed
fix(ui): folder explorer: better performance + auto scroll to top
1 parent a5bb260 commit d63cc0d

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

packages/@vue/cli-ui/src/components/FolderExplorer.vue

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,13 @@
8888
/>
8989
</div>
9090

91-
<div class="folders">
91+
<div ref="folders" class="folders">
9292
<template v-if="folderCurrent.children">
9393
<FolderExplorerItem
9494
v-for="folder of folderCurrent.children"
9595
:key="folder.name"
9696
:folder="folder"
97-
@click.native="openFolder(folder.path)"
97+
@select="openFolder(folder.path)"
9898
/>
9999
</template>
100100
</div>
@@ -123,7 +123,11 @@ export default {
123123
apollo: {
124124
folderCurrent: {
125125
query: FOLDER_CURRENT,
126-
fetchPolicy: 'network-only'
126+
fetchPolicy: 'network-only',
127+
async result () {
128+
await this.$nextTick()
129+
this.$refs.folders.scrollTop = 0
130+
}
127131
},
128132
129133
foldersFavorite: FOLDERS_FAVORITE

packages/@vue/cli-ui/src/components/FolderExplorerItem.vue

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
<template>
2-
<div class="folder-explorer-item">
3-
<VueIcon :icon="folder.isPackage ? 'folder' : 'folder_open'" class="folder-icon big"/>
1+
<template functional>
2+
<div
3+
class="folder-explorer-item"
4+
@click="listeners.select()"
5+
>
6+
<VueIcon :icon="props.folder.isPackage ? 'folder' : 'folder_open'" class="folder-icon big"/>
47
<div class="folder-name">
5-
{{ folder.name }}
8+
{{ props.folder.name }}
69
<img
7-
v-if="folder.isVueProject"
10+
v-if="props.folder.isVueProject"
811
class="vue-ui-project-icon"
912
src="~@/assets/logo.png"
1013
>

0 commit comments

Comments
 (0)