vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14 lines
391 B
14 lines
391 B
import type { UnwrapRef } from 'vue'; |
|
import { reactive, toRef } from 'vue'; |
|
|
|
/** |
|
* Reactively pick fields from a reactive object |
|
* |
|
* @see https://vueuse.js.org/reactivePick |
|
*/ |
|
export function reactivePick<T extends object, K extends keyof T>( |
|
obj: T, |
|
...keys: K[] |
|
): { [S in K]: UnwrapRef<T[S]> } { |
|
return reactive(Object.fromEntries(keys.map(k => [k, toRef(obj, k)]))) as any; |
|
}
|
|
|