Obtengo un formulario de valor API graduated y quiero imprimir el texto original de la matriz a continuación.
Respuesta API
Resultado actual como la imagen de abajo
archivo .ts
levelEducation = [ {id: "not-graduated", name: "OTHERS.NotGraduated"}, {id: "graduated", name: "OTHERS.Graduation"}, {id: "master", name: "OTHERS.Master"}, {id: "doctorate", name: "OTHERS.Doctorate"}, ];código de archivo HTML
<div class="form-field"> <label>{{'JOBAPPLICATION.LevelOfEducation' | translate}}</label> <h5>{{userData.livello_studi ? userData.livello_studi : '-'}}</h5> <h5 *ngFor="let item of levelEducation">{{(item.name ? item.name : '-' ) | translate}}</h5> </div> Entonces necesito valorar "OTROS. Graduación" usando el nombre de ID graduated en angular.
La mejor opción es utilizar un mapa entre el valor de livello_studi y el valor de visualización que desee.
Supongo que OTHERS es una enumeración, por lo que primero deberá definir los datos del mapa.
levelEducation = new Map([ ["not-graduated", OTHERS.NotGraduated], ["graduated", OTHERS.Graduation], ["master", OTHERS.Master], ["doctorate", OTHERS.Doctorate], ]);Para sacar datos del mapa lo haces así
levelEducation.get(userData.livello_studi); // this will return undefined if the item is not foundAsí que podrías hacer esto en la plantilla para obtener los datos:
<h5>{{levelEducation.get(userData.livello_studi) || '-'}}</h5>(o mueva este código a una función de limpieza)
Si desea mapear los valores de graduado a Graduación, puede resolver esto con un mapa. Asumió que tiene n valores y esta no es una entrada editable.
let map = new Map(); map.set("graduated" ","Graduation"); map.set("not-graduated","Not graduated");....
y luego, cuando necesite mostrar su valor, puede escribir una función que muestre su texto visualizable cuando lo necesite.
return map.get("graduated");