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)