Category | Reactivity |
---|---|
Export Size | 282 B |
Last Changed | last week |
Add extra attributes to Ref.
This function only works for Vue 2.7 or above.
Please note the extra attribute will not be accessible in Vue's template.
import { ref } from 'vue' import { extendRef } from '@vueuse/core' const myRef = ref('content') const extended = extendRef(myRef, { foo: 'extra data' }) extended.value === 'content' extended.foo === 'extra data'
Refs will be unwrapped and be reactive
const myRef = ref('content') const extraRef = ref('extra') const extended = extendRef(myRef, { extra: extraRef }) extended.value === 'content' extended.extra === 'extra' extended.extra = 'new data' // will trigger update extraRef.value === 'new data'
export interface ExtendRefOptions<Unwrap extends boolean = boolean> { /** * Is the extends properties enumerable * * @default false */ enumerable?: boolean /** * Unwrap for Ref properties * * @default true */ unwrap?: Unwrap } /** * Overload 1: Unwrap set to false */ export declare function extendRef< R extends Ref<any>, Extend extends object, Options extends ExtendRefOptions<false> >(ref: R, extend: Extend, options?: Options): ShallowUnwrapRef<Extend> & R /** * Overload 2: Unwrap unset or set to true */ export declare function extendRef< R extends Ref<any>, Extend extends object, Options extends ExtendRefOptions >(ref: R, extend: Extend, options?: Options): Extend & R
© 2019-present Anthony Fu
Licensed under the MIT License.
https://vueuse.org/shared/extendRef/