typescript - vue El tipo genérico UnwrapRefSimple<T> no se puede asignar a T en reactive
He creado una función hook y quiero reutilizarla en otros lugares:
import { ref, Ref, reactive } from 'vue'
const useSelectAarray = <T>(items: T[]) => {
const selectItem: Ref<T|null> = ref(null)
const options = reactive([...items])
const select = (key: string, value: any) => {
const trigger = options.find((item: { [index: string]: any }) => item[key] === value)
if (typeof trigger !== 'undefined') {
selectItem.value = trigger
}
}
return {
selectItem,
select,
items: options
}
}
Pero en selectItem.value=trigger, obtengo un error de tipo Type 'UnwrapRefSimple<T>' no es asignable a type 'T'.
¿Cómo puedo resolver este problema?
Respuesta #1
const selectItem = ref<T>(null) as Ref<T?>
ver: https://github.com/vuejs/vue-next/issues/2136
