Skip to content

watchArray

类别
导出体积
303 B
上次更改
7 months ago

监视数组的添加和移除。

使用方法

类似于 watch,但提供了添加和移除的元素给回调函数。如果列表通过 pushsplice 等方法原地更新,请传递 { deep: true }

ts
import { 
watchArray
} from '@vueuse/core'
const
list
=
ref
([1, 2, 3])
watchArray
(
list
, (
newList
,
oldList
,
added
,
removed
) => {
console
.
log
(
newList
) // [1, 2, 3, 4]
console
.
log
(
oldList
) // [1, 2, 3]
console
.
log
(
added
) // [4]
console
.
log
(
removed
) // []
})
onMounted
(() => {
list
.
value
= [...
list
.
value
, 4]
})

类型声明

ts
export declare type 
WatchArrayCallback
<
V
= any,
OV
= any> = (
value
:
V
,
oldValue
:
OV
,
added
:
V
,
removed
:
OV
,
onCleanup
: (
cleanupFn
: () => void) => void,
) => any /** * 监视数组的添加和移除。 * * @see https://vueuse.org/watchArray */ export declare function
watchArray
<
T
,
Immediate
extends
Readonly
<boolean> = false,
>(
source
:
WatchSource
<
T
[]> |
T
[],
cb
:
WatchArrayCallback
<
T
[],
Immediate
extends true ?
T
[] | undefined :
T
[]>,
options
?:
WatchOptions
<
Immediate
>,
):
WatchHandle

源码

源码文档

贡献者

Anthony Fu
一纸忘忧
Anthony Fu
sun0day
Di Weng

更新日志

59f75 - feat(toValue): deprecate toValue from @vueuse/shared in favor of Vue's native
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)