2017-07-25 3 views
0

J'essaie d'implémenter une fonctionnalité "effacer" ou "réinitialiser" pour ma liste déroulante SumoSelect que j'ai implémentée. J'utilise angulaire 4. Ce est mon code que j'appelle quand je veux effacer le menu déroulant:La propriété 'sumo' n'existe pas sur le type 'HTMLElement' pour SumoSelect JQuery

var num = $('option').length; 
for(var i=0; i<num; i++){ 
    $('#state')[0].sumo.unSelectItem(i); 
} 

J'ai installé SumoSelect dans mes node_modules ainsi que de mettre dans mes typings.d.ts:

interface JQuery { 
    SumoSelect(any):void; 

} 

Dans mon .angular-cli.json j'ai également inclus les fichiers js et css appropriés. Ma liste déroulante SumoSelect fonctionne correctement, mais je n'arrive pas à comprendre comment obtenir que mon application reconnaisse le sumo sur la troisième ligne de mon premier segment de code. J'ai essayé d'autres interfaces pour JQuery et HTMLElement et pas de chance.

Répondre

0

Essayez d'importer du sumo dans le composant.

import * as sumo from 'SumoSelect'; 

et import * as $ from 'jquery';

ou tout simplement faire

`declare var $ : any ;` //in the component 
+0

malheureusement aucun changement – Hiding

+0

Vous utilisez jQuery pour le sumo? –

+0

devrait avoir déclaré var sumo: SumoSelect. – Vega