Tengo este objeto declarado con dos propiedades
photosPlanes:photoPLanes = {
Entrenamiento: '',
Dieta: ''
}
y quiero dinámicamente setear el valor de una de las propiedades del mismo de esta forma:
if(element.urlThumb!==''){
this.photosPlanes[element.name]=element.urlThumb
}
Pero obtengo el siguiente error:
LA SOLUCIÓN
Para resolver el problema usamos algo llamado Type Assertions
"photoPLanes" es la interface que uso
this.photosPlanes[ element.name as keyof photoPLanes ] = element.urlThumb
En el articulo de Borislav Hadzhiev podemos encontrar otro ejemplo mas claro aun:
const str = 'name' as string;
const obj = {
name: 'James Doe',
country: 'Chile',
};
// 👇️ "James Doe"
console.log(obj[str as keyof typeof obj]);
// 👇️ type T = "name" | "country"
type T = keyof typeof obj;
Sígueme y cualquier problema escríbeme que te ayudo 😉🤘
https://linktr.ee/fergolive
Top comments (0)