@tuniao/tnui-vue3-uniapp
Version:
TuniaoUI for vue3 uniapp
24 lines (20 loc) • 549 B
text/typescript
import { shallowRef } from 'vue'
export const useOrderedChildren = <T extends { uid: number }>() => {
const children: Record<number, T> = {}
const orderedChildren = shallowRef<T[]>([])
const addChild = (child: T) => {
children[child.uid] = child
orderedChildren.value.push(child)
}
const removeChild = (uid: number) => {
delete children[uid]
orderedChildren.value = orderedChildren.value.filter(
(child) => child.uid !== uid
)
}
return {
children: orderedChildren,
addChild,
removeChild,
}
}