我正在编写一个闪电网络组件,我必须将一个<datalist>
元素分配给我的<input>
元素list
属性之一,以便绑定它们。
出于某种原因,这个 JS 行:
const streetsListId = this.template.querySelector('streetdatalist').id;
抛出这个 JS 错误信息:
无法读取 null 的属性“id”
网页组件 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>
网页组件 JS:
renderedCallback() {
if (this.initialized) {
return;
}
this.initialized = true;
const streetsListId = this.template.querySelector('streetdatalist').id;
this.template.querySelector('inputstreet').setAttribute('list', streetsListId);
}