mirror of
https://github.com/elk-zone/elk
synced 2024-12-01 00:08:11 +09:00
18 lines
364 B
Vue
18 lines
364 B
Vue
|
<script setup lang="ts">
|
||
|
const { as = 'div', active } = defineProps<{ as: any; active: boolean }>()
|
||
|
const el = ref()
|
||
|
|
||
|
watch(() => active, (active) => {
|
||
|
const _el = unrefElement(el)
|
||
|
|
||
|
if (active && _el)
|
||
|
_el.scrollIntoView({ block: 'nearest', inline: 'start' })
|
||
|
})
|
||
|
</script>
|
||
|
|
||
|
<template>
|
||
|
<component :is="as" ref="el">
|
||
|
<slot />
|
||
|
</component>
|
||
|
</template>
|