Category | Reactivity |
---|---|
Export Size | 381 B |
Last Changed | 2 weeks ago |
Reactively omit fields from a reactive object.
import { reactiveOmit } from '@vueuse/core' const obj = reactive({ x: 0, y: 0, elementX: 0, elementY: 0, }) const picked = reactiveOmit(obj, 'x', 'elementX') // { y: number, elementY: number }
import { reactiveOmit } from '@vueuse/core' const obj = reactive({ bar: 'bar', baz: 'should be omit', foo: 'foo2', qux: true, }) const picked = reactiveOmit(obj, (key, value) => key === 'baz' || value === true) // { bar: string, foo: string }
<script setup> import { reactiveOmit } from '@vueuse/core' const props = defineProps({ value: { default: 'value', }, color: { type: String, }, font: { type: String, } }) const childProps = reactiveOmit(props, 'value') </script> <template> <div> <!-- only passes "color" and "font" props to child --> <ChildComp v-bind="childProps" /> </div> </template>
export type ReactiveOmitPredicate<T> = ( value: T[keyof T], key: keyof T ) => boolean export declare function reactiveOmit<T extends object, K extends keyof T>( obj: T, ...keys: (K | K[])[] ): Omit<T, K> export declare function reactiveOmit<T extends object>( obj: T, predicate: ReactiveOmitPredicate<T> ): Partial<T>
© 2019-present Anthony Fu
Licensed under the MIT License.
https://vueuse.org/shared/reactiveOmit/