Salesforce LWC - 在数据列表元素上使用 querySelector 时出现错误消息

Salesforce LWC - error message when using querySelector on a datalist element

我正在编写一个闪电网络组件,其中我必须将一个 <datalist> 元素分配给我的 <input> 元素之一的 list 属性,以便绑定他们。

出于某种原因,此 JS 行:

const streetsListId = this.template.querySelector('streetdatalist').id;

抛出此 JS 错误消息:

Cannot read property 'id' of null

Web 组件HTML:

<template>
    <div class="container">
        <input  id="inputstreet"
                name="inputstreet"
                type="text"
                list="streetdatalist"
                label="Search"
                onkeydown={onStreetChange}
                onblur={onStreetChange} />

        <datalist id="streetdatalist">
             <template for:each={streets} for:item='street'>
                 <option key={city.cityCode}>{city.cityName}</option>
             </template>
        </datalist>
    </div>
</template>

Web 组件 JS:

renderedCallback() {
    if (this.initialized) {
        return;
    }
    this.initialized = true;

    const streetsListId = this.template.querySelector('streetdatalist').id;
    this.template.querySelector('inputstreet').setAttribute('list', streetsListId);
}

通过将 querySelector 更改为 '[data-id=:

解决了这个问题
const citiesListId = this.template.querySelector('[data-id="streetdatalist"]').id;