Javascript lit元素中的_didRender的替代品是什么

Javascript lit元素中的_didRender的替代品是什么,javascript,polymer-3.x,lit-element,Javascript,Polymer 3.x,Lit Element,我试图在我的应用程序中使用自定义元素,但升级到当前版本的lit元素后,似乎找不到_didRender的替换函数。我尝试了FirstUpdate和connectedCallback,但没有成功。我该怎么办。代码呈现,但在呈现并调用ajax之后,我希望呈现会更新,但它没有更新 import {LitElement, html} from 'lit-element'; import '@material/mwc-formfield/mwc-formfield.js'; import '@materia

我试图在我的应用程序中使用自定义元素,但升级到当前版本的lit元素后,似乎找不到_didRender的替换函数。我尝试了FirstUpdate和connectedCallback,但没有成功。我该怎么办。代码呈现,但在呈现并调用ajax之后,我希望呈现会更新,但它没有更新

import {LitElement, html} from 'lit-element';
import '@material/mwc-formfield/mwc-formfield.js';
import '@material/mwc-checkbox/mwc-checkbox.js'
import '@polymer/iron-ajax/iron-ajax.js';

class FhirActiveStatus extends LitElement{
    static get properties() {
        return {
            /**activeStatus is used to show active status of person true or false. Use this property to show/hide. Default: true */
            activeStatus: {type:Boolean},
            /**url is used to make AJAX call to FHIR resource. Default: null */
            url: {type:String},
            /**value is used to take the input value of each field*/
            value: {type:Boolean}
        }
    }

    /**default value of properties set in constructor*/
    constructor() {
        super();
        this.activeStatus = 'true';
        this.value = false;
    }


    /**_didRender() was used here after the ajax call had been made*/
    async firstUpdated() {
        this.shadowRoot.getElementById('ajax').addEventListener('iron-ajax-response', function (e) {
            var active = this.parentNode.host;
            if (e.detail.response.active) {
                active.shadowRoot.querySelector('.activeState').checked = true;

            }
            else if (!e.detail.response.active) {
                active.shadowRoot.querySelector('.activeState').checked = false;
            }
            else {
                this.parentNode.removeChild(this.parentNode.querySelector('#activeDiv'));
            }
        });
    }

    render() {
        return html`
       <div id="activeDiv">
       ${this.activeStatus !== 'false' ? html`<mwc-formfield class="activeStatus" alignEnd label="ACTIVE STATUS:">
         <mwc-checkbox id="active" checked="${this.value}" class="activeState" @click="${e => this.value = e.target.value}"></mwc-checkbox>
         </mwc-formfield>` : ''}
       </div>
       <iron-ajax  auto id="ajax" bubbles auto handle-as="json" url="${this.url}"></iron-ajax>
    `;
    }
}

window.customElements.define('fhir-active-status', FhirActiveStatus);

看看LitElement的生命周期


_didRender我相信现在已经更新了

看看LitElement的生命周期


_didRender我相信现在是更新的

你也有能力依靠它等待这个更新完成;如果您希望编写异步/等待样式代码而不是回调样式代码。

您还可以依赖wait this.updateComplete;如果您希望在回调样式代码之上编写异步/等待样式代码