Búsqueda de sitios web

typescript - TS2339: La propiedad 'selectpicker' no existe en el tipo 'JQuery'


Estoy usando el bootstrap-select

He importado con éxito bootstrap-select en mi proyecto usando:

<!-- 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>

dentro de la etiqueta <head> del documento. Quiero ver cómo modificar las marcas de verificación dentro de los cuadros de selección múltiple, y pensé que intentaría usar el

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

Método como se muestra aquí. Cada vez que intento usar ese fragmento de código, recibo un error:

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

Incluso he intentado instalar la definición de tipos usando

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

Pero el problema sigue siendo. Estoy utilizando la plantilla SPA de Visual Studio que usa la plantilla de ASP.NET Core, Vue.js y Webpack.

Respuesta #1

Recuerdo haber lidiado con este mismo error. Intentando reproducir exactamente el mismo error ahora, encontré que solo aparece después de seguir los pasos en esta respuesta: https://stackoverflow.com/a/41168903

Mi solución, agregando esta línea justo debajo de mis declaraciones de importación:

declarar var $: any;

Para dar contexto, esto ha funcionado bien para mí en mis proyectos de Angular. No estoy muy familiarizado con Vue.js, pero si es aplicable, creo que es una buena idea envolver todo el código jQuery de bootstrap-select que necesites en una sola unidad (en mi caso lo envuelvo todo en una directiva).

También funciona sin necesidad de tener instalados tipos (no tengo @types/jquery ni @types/bootstrap-select)

Artículos relacionados