Language-tools: Erreur dactylographiée - L'objet est inconnu lors de l'appel à : "event" pour le composant enfant de la bibliothèque externe JS

Créé le 10 sept. 2020  ·  3Commentaires  ·  Source: sveltejs/language-tools

Décrivez le bogue

Il s'agit d'une erreur similaire à celle de ce problème fermé - https://github.com/sveltejs/language-tools/issues/396
Je pense que la seule différence est que le composant plainJS est utilisé dans celui-ci.
J'ai essayé de plusieurs manières de recréer comment la personne qui a ouvert celui-ci l'a résolu, mais en vain.
J'ai un curseur d'interface utilisateur Svelte Material

je l'importe comme ça

import Slider from '@smui/slider/bare.js';

c'est la ligne problématique - <Slider on:volume-changed={event => changeTrackVolume(event, track)}/>

Si j'ajoute mes types.d.ts

declare module '@smui/slider/bare.js' {
    export class Slider {
        $$prop_def: any;
        $on: any;
    }
}
Object is of type 'unknown'.ts(2571)
Argument of type 'typeof import("@smui/slider/bare.js")' is not assignable to parameter of type 'AConstructorTypeOf<unknown>'.
  Type 'typeof import("@smui/slider/bare.js")' provides no match for the signature 'new (...args: any[]): unknown'.ts(2345)

JSX element type 'Slider' does not have any construct or call signatures.ts(2604)

Ce sont les erreurs que j'obtiens.
J'ai également essayé avec @smui/slider etc. et exporté le curseur par défaut, rien n'a fonctionné jusqu'à présent.

J'apprécierais si quelqu'un pouvait me faire signe.

Merci.

question

Commentaire le plus utile

@dummdidumm qui a fonctionné lol, c'est probablement la seule chose que je n'ai pas essayée, si insaisissable.

Merci beaucoup!

Tous les 3 commentaires

vous pouvez essayer d'ajouter un constructeur à la définition de classe Slider

declare module '@smui/slider' {
  export default class Slider {
    $$prop_def: any;
    $on: any;
  }
}

puis importer comme
import Slider from '@smui/slider';
travaille pour moi.

Si cela ne résout pas le problème, pourriez-vous publier un extrait de code reproductible + étape par étape ou un dépôt ?

@dummdidumm qui a fonctionné lol, c'est probablement la seule chose que je n'ai pas essayée, si insaisissable.

Merci beaucoup!

Cette page vous a été utile?
0 / 5 - 0 notes