diff --git a/packages/core/useTextareaAutosize/index.ts b/packages/core/useTextareaAutosize/index.ts index 9f04364f5be..bc313e99512 100644 --- a/packages/core/useTextareaAutosize/index.ts +++ b/packages/core/useTextareaAutosize/index.ts @@ -1,6 +1,7 @@ import type { MaybeRef } from '@vueuse/shared' import type { WatchSource } from 'vue-demi' import { ref, watch } from 'vue-demi' +import useResizeObserver from '../useResizeObserver' export interface UseTextareaAutosizeOptions { /** Textarea element to autosize. */ @@ -29,6 +30,8 @@ export function useTextareaAutosize(options?: UseTextareaAutosizeOptions) { watch([input, textarea], triggerResize, { immediate: true }) + useResizeObserver(textarea, () => triggerResize()) + if (options?.watch) watch(options.watch, triggerResize, { immediate: true, deep: true })