Пользовательский элемент ниже получает значение кода в JSON, переданное в тег состояния наблюдения, и отображает его как выбранный вариант. Проблема в том, что я получаю сообщение об ошибке «категория наблюдения. js: 42 Uncaught (в обещании) TypeError: невозможно прочитать свойство '0' of undefined» при отображении элемента.
<observation-category value ='[ {
"coding": [ {
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "imaging",
"display": "vital-signs"
} ]
}]'></observation-category>
import { LitElement, html } from "lit-element";
import "@material/mwc-select";
import '@material/mwc-list/mwc-list-item';
import '@material/mwc-formfield';
export class FObservationCategory extends LitElement {
static get properties() {
return {
value: { type: Object },
obsCat: { type: String }
};
}
constructor() {
super();
this.value = [{}]
this.obsCat = "true"
}
render() {
return html`
<mwc-formfield label= "OBSERVATION STATUS" alignEnd>
${this.obsCat !== "false" ?
html` <mwc-select value = ${this.value[0].coding[0].code} @change = '${this.changeValue}'>
<mwc-list-item value ="social-history"> Social History</mwc-list-item>
<mwc-list-item value = "vital-signs">Vital Signs</mwc-list-item>
<mwc-list-item value = "imaging">Imaging</mwc-list-item>
<mwc-list-item value = "laboratory">Laboratory</mwc-list-item>
<mwc-list-item value = "procedure">Procedure</mwc-list-item>
<mwc-list-item value = "survey">Survey</mwc-list-item>
<mwc-list-item value = "exam">Exam</mwc-list-item>
<mwc-list-item value = "therapy">Therapy</mwc-list-item>
<mwc-list-item value ="activity">Activity</mwc-list-item>
</mwc-select>`: ""}
</mwc-formfield>
`
}
changeValue(e){
this.value = e.target.value
console.log(this.value)
}
}
customElements.define('fhir-observation-category', FhirObservationCategory);
Как я могу изменить приведенный выше элемент, чтобы отобразить параметр, просто указав значение кода вместо передачи всего JSON без изменения свойства значения на строку?
<observation-category value ="imaging"></observation-category>