Skip to content

Commit 3167b54

Browse files
committed
feat(light): add transition to menu
1 parent b2e7219 commit 3167b54

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

light/src/components/select.vue

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,23 @@
1515
<span v-if="clearable && !isEmpty" class="cl-btn-clear" @click="clear">&#x2715;</span>
1616
</span>
1717

18-
<div v-if="menu" class="cl-menu" :style="floatingStyles" ref="floating">
19-
<div class="cl-row" v-for="(row, i) in itemRows" :key="i">
20-
<div
21-
v-for="(item, j) in row"
22-
:key="i + '-' + j"
23-
class="cl-col"
24-
:class="{ selected: has(item) }"
25-
@click="select(item)"
26-
@click.stop="multiple ? () => {} : toggleMenu()"
27-
>
28-
<div v-if="item">{{ item.text }}</div>
18+
<div :style="floatingStyles" ref="floating">
19+
<transition name="cl-menu">
20+
<div v-if="menu" class="cl-menu">
21+
<div class="cl-row" v-for="(row, i) in itemRows" :key="i">
22+
<div
23+
v-for="(item, j) in row"
24+
:key="i + '-' + j"
25+
class="cl-col"
26+
:class="{ selected: has(item) }"
27+
@click="select(item)"
28+
@click.stop="multiple ? () => {} : toggleMenu()"
29+
>
30+
<div v-if="item">{{ item.text }}</div>
31+
</div>
32+
</div>
2933
</div>
30-
</div>
34+
</transition>
3135
</div>
3236
</div>
3337
</template>
@@ -125,6 +129,18 @@ export default defineComponent({
125129
background-color: var(--cl-bg-color, #eee);
126130
list-style: none;
127131
z-index: 100;
132+
transform-origin: top left;
133+
}
134+
135+
.cl-menu-enter-active,
136+
.cl-menu-leave-active {
137+
transition: all 0.1s ease;
138+
}
139+
140+
.cl-menu-enter-from,
141+
.cl-menu-leave-to {
142+
transform: scaleY(0.7);
143+
opacity: 0;
128144
}
129145
130146
.cl-row {

0 commit comments

Comments
 (0)