Category | Reactivity |
---|---|
Export Size | 451 B |
Last Changed | 10 months ago |
Extended toRefs
that also accepts refs of an object.
import { toRefs } from '@vueuse/core' import { reactive, ref } from 'vue' const objRef = ref({ a: 'a', b: 0 }) const arrRef = ref(['a', 0]) const { a, b } = toRefs(objRef) const [ a, b ] = toRefs(arrRef) const obj = reactive({ a: 'a', b: 0 }) const arr = reactive(['a', 0]) const { a, b } = toRefs(obj) const [ a, b ] = toRefs(arr)
<template> <div> <input v-model="a" type="text" /> <input v-model="b" type="text" /> </div> </template> <script lang="ts"> import { toRefs, useVModel } from '@vueuse/core' export default { setup(props) { const refs = toRefs(useVModel(props, 'data')) console.log(refs.a.value) // props.data.a refs.a.value = 'a' // emit('update:data', { ...props.data, a: 'a' }) return { ...refs } } } </script>
/** * Extended `toRefs` that also accepts refs of an object. * * @see https://vueuse.org/toRefs * @param objectRef A ref or normal object or array. */ export declare function toRefs<T extends object>( objectRef: MaybeRef<T> ): ToRefs<T>
© 2019-present Anthony Fu
Licensed under the MIT License.
https://vueuse.org/shared/toRefs/