跳到主要内容

extendRef

分类
导出大小
207 B
上次更改
7 个月前

为 Ref 添加额外的属性。

用法

请注意,额外的属性将无法在 Vue 的模板中访问。

ts
import { 
extendRef
} from '@vueuse/core'
import {
shallowRef
} from 'vue'
const
myRef
=
shallowRef
('content')
const
extended
=
extendRef
(
myRef
, {
foo
: 'extra data' })
extended
.
value
=== 'content'
extended
.
foo
=== 'extra data'

Refs 将被解包并具有响应性

ts
const 
myRef
=
shallowRef
('content')
const
extraRef
=
shallowRef
('extra')
const
extended
=
extendRef
(
myRef
, {
extra
:
extraRef
})
extended
.
value
=== 'content'
extended
.
extra
=== 'extra'
extended
.
extra
= 'new data' // will trigger update
extraRef
.
value
=== 'new data'

类型声明

ts
export type 
ExtendRefReturn
<
T
= any> =
Ref
<
T
>
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

来源

源码文档

贡献者

Anthony Fu
SerKo
Robin
IlyaL
Anthony Fu
vaakian X

更新日志

v13.1.0
c1d6e - feat(shared): 确保返回类型存在 (#4659)
0a9ed - feat!: 放弃对 Vue 2 的支持,优化打包并清理 (#4349)

根据 MIT 许可证发布。