jquery - TS2339 : Property 'selectpicker' does not exist on type 'JQuery<HTMLElement>'

标签 jquery typescript webpack bootstrap-4 bootstrap-select

我正在使用 bootstrap-select

我已经成功导入bootstrap-select进入我的项目使用:

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/bootstrap-select.min.js"></script>

<!-- (Optional) Latest compiled and minified JavaScript translation files -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/i18n/defaults-*.min.js"></script>

文档内 <head>标签。我想看看如何修改多个选择框中的复选标记,并想我会尝试使用

$('.selectpicker').selectpicker('deselectAll');

方法如图here .每当我尝试使用那段代码时,我都会收到错误消息:

TS2339: Property 'selectpicker' does not exist on type 'JQuery<HTMLElement>'.

我什至尝试使用安装类型定义

npm install --save-dev @types/bootstrap-select

但问题依然存在。我正在使用 Visual Studio SPA 模板,它使用 ASP.NET Core 模板、Vue.js 和 Webpack。

最佳答案

我记得处理过同样的错误。现在尝试重现完全相同的错误,我发现它只有在我按照以下答案中的步骤操作后才会出现:https://stackoverflow.com/a/41168903

我的解决方案,将这一行添加到我的导入语句的正下方:

声明 var $: any;

就上下文而言,这在我的 Angular 项目中对我来说效果很好。我不太熟悉 Vue.js,但如果它适用,我认为将您需要的所有 bootstrap-select jQuery 代码包装在一个单元中是个好主意(在我的例子中,我将它们全部包装在一个指令中)。

它也可以在不需要安装任何类型的情况下工作(我没有@types/jquery 或@types/bootstrap-select)

关于jquery - TS2339 : Property 'selectpicker' does not exist on type 'JQuery<HTMLElement>' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48215786/

相关文章:

webpack - 文件加载器中的意外 [路径]

javascript - TS2307 : Cannot find module './images/logo.png'

javascript - HTML/CSS 绝对位置子项不会随绝对位置父项一起移动

typescript - 映射类型可以使属性成为可选的,但前提是满足条件?

javascript - 使用 TinyMCE 进行实时预览(TinyMCE 的值(value))

javascript - typescript rxjs : is there any clean alternative to setimeout 0

javascript - 如何在 VS Code 中为个人功能创建提示

webpack - 如何使用 webpack 连接 html 片段?

javascript - 形成 PreventDefault 然后再次激活不起作用

javascript - 制作名称不同的单选按钮,就像它们在一个组中一样