Преобразование между строкой и свойствами объекта в Litlement - PullRequest
0 голосов
/ 17 июня 2020

Пользовательский элемент ниже получает значение кода в 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>

enter image description here

...