Skip to content

useElementOverflow

类别
导出大小

反应元件的溢出状态。

🌐 Reactive element's overflow state.

示例

ReferenceError: stop is not defined

用法

🌐 Usage

vue
<script setup>
import { 
useElementOverflow
} from '@vueuse/core'
import {
useTemplateRef
} from 'vue'
const
el
=
useTemplateRef
('el')
const {
isXOverflowed
} =
useElementOverflow
(
el
)
</script> <template> <
div
ref
="
el
"
style
="width: 100px;overflow: hidden;">
<
button
v-if="
isXOverflowed
">
show more </
button
>
<
span
v-else>some words may be too long to show here</
span
>
</
div
>
</template>

组件用法

🌐 Component Usage

vue
<script setup lang="ts">
import { 
UseElementOverflow
} from '@vueuse/components'
</script> <template> <
UseElementOverflow
v-slot="{
isXOverflowed
}"
style
="width: 100px;overflow: hidden;">
<
button
v-if="
isXOverflowed
">
show more </
button
>
<
span
v-else>some words may be too long to show here</
span
>
</UseElementOverflow> </template>

指令用法

🌐 Directive Usage

vue
<script>
import type { 
UseElementOverflowReturn
} from '@vueuse/core'
import {
vElementOverflow
} from '@vueuse/components'
import {
ref
} from 'vue'
export default {
setup
() {
const
isXOverflowed
=
ref
(false)
function
onXOverflowChanged
(
info
:
UseElementOverflowReturn
) {
isXOverflowed
.
value
=
info
.
isXOverflowed
} return {
isXOverflowed
,
onXOverflowChanged
,
} }, } </script> <template> <
div
v-element-overfl
ow="
onXOverflowChanged
"
style
="width: 100px;overflow: hidden;">
<
button
v-if="
isXOverflowed
">
show more </
button
>
<
span
v-else>some words may be too long to show here</
span
>
</
div
>
</template>