我想在我的应用程序中使用autocomplete.js。
我已使用yarn add @tarekraafat/autocomplete.js
安装了该软件包。我正在使用webpack 4.28捆绑javascript文件,并用require("@tarekraafat/autocomplete.js/dist/js/autoComplete");
将该包导入应用程序,并将捆绑的文件放在关闭BODY标记之前的底部。
在我的custom.js
文件中,我正在创建一个新的autoComplete实例,如下所示:
new autoComplete({
data: {
src: async () => {
document.querySelector("#autoComplete_results_list").style.display = "none";
document.querySelector("#autoComplete").setAttribute("placeholder", "Loading...");
const source = await fetch("/employee/search");
const data = await source.json();
return data;
},
key: "name"
},
selector: "#autoComplete",
placeHolder: "type employee name to search...",
threshold: 0,
searchEngine: "strict",
highlight: true,
dataAttribute: { tag: "value", value: "" },
maxResults: Infinity,
renderResults: {
destination: document.querySelector("#autoComplete"),
position: "afterend"
},
onSelection: feedback => {
document.querySelector(".selection").innerHTML = feedback.selection.food;
document
.querySelector("#autoComplete")
.setAttribute("placeholder", `${event.target.closest(".autoComplete_result").id}`);
console.log(feedback);
}
});
但是,在运行该应用程序时,出现错误Uncaught ReferenceError: autoComplete is not defined
,其中提到了创建新实例的位置。
我已经阅读了入门文档,并查看了演示代码,但无法弄清缺少的内容。如何解决该错误?
答案 0 :(得分:0)
在内部编写代码
$(document).ready(function(){
// Write your Code Here
});
答案 1 :(得分:0)
您的问题出在您的导入中,您无法正确导入自动完成,因此在使用new autoComplete
时遇到错误。
将require("@tarekraafat/autocomplete.js/dist/js/autoComplete");
更改为import autoComplete from '@tarekraafat/autocomplete.js';
,将其放在文件顶部,紧接在jQuery之类的内容之后