Bootstrap 5自动完成返回null OnSelectItem
我从 https://github.com/gch1p/bootstrap-5-autococte 我从Firestore那里得到数据 我的代码:
async function getProductsArray() {
let autoCompleteArray = [];
try {
const [productsArray, productsDefault] = await getSettingsProducts();
productsArray.sort();
productsArray.forEach((element, index) => {
autoCompleteArray.push({
label: element,
value: element
});
});
const field = document.getElementById('productsAutoComplete');
const ac = new Autocomplete(field, {
//data: [{label: "I'm a label", value: 42}],
data: autoCompleteArray,
maximumItems: 5,
threshold: 1,
onSelectItem: ({
label,
value
}) => {
console.log("user selected:", label, value);
document.getElementById('productsAutoComplete').value = "";
//createKitElements(label, 1);
//console.log(label)
inputVal(label);
}
});
} catch (error) {
console.log("Get Products Error: ", error);
// errorInfo(error)
}
}
它看起来有效,但并非总是如此。有时“ OnSelectItem”返回“ null”(约25%)。即使单击相同的元素。我检查了Chrome和Firefox。在Chrome上,更好。在使用Twitter Typeahead之前,但是它很旧,所以我想尝试一些新的东西。 您能推荐任何自动完成API吗?
I implemented Bootstrap 5 Autocomplete from
https://github.com/gch1p/bootstrap-5-autocomplete
I get data from Firestore
my code:
async function getProductsArray() {
let autoCompleteArray = [];
try {
const [productsArray, productsDefault] = await getSettingsProducts();
productsArray.sort();
productsArray.forEach((element, index) => {
autoCompleteArray.push({
label: element,
value: element
});
});
const field = document.getElementById('productsAutoComplete');
const ac = new Autocomplete(field, {
//data: [{label: "I'm a label", value: 42}],
data: autoCompleteArray,
maximumItems: 5,
threshold: 1,
onSelectItem: ({
label,
value
}) => {
console.log("user selected:", label, value);
document.getElementById('productsAutoComplete').value = "";
//createKitElements(label, 1);
//console.log(label)
inputVal(label);
}
});
} catch (error) {
console.log("Get Products Error: ", error);
// errorInfo(error)
}
}
It looks like it works, but not always. Sometimes "onSelectItem" returns "null"(about 25%). Even if the same element is clicked. I checked on chrome and Firefox. On Chrome, a bit better. Before I used Twitter typeahead, but it is old, so I wanted to try something new.
Could you recommend any autocomplete api?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只需在autocomplete.js(函数createItems)中替换这2行..
替换:
或:
或
just replace these 2 lines in autocomplete.js ( function createItems )..
replace :
with :
or