web-dev-qa-db-fra.com

eslint object-shorthand error avec variable transmise

J'ai la fonction suivante qui configure un plugin select2, qui a besoin de selects pour rester ouverts s'ils sont multiples mais fermés s'ils ne le sont pas:

function setUpSelects($selects, closeOnSelect) {
  $selects.each((i, item) => {
    const $item = $(item);

    $item.select2({
      closeOnSelect: closeOnSelect,  // <-- error on this line
      minimumResultsForSearch: Infinity,
      placeholder: $item.data('placeholder') || $item.attr('placeholder'),
    });
  });
}

setUpSelects($('select:not([multiple])'), false);
setUpSelects($('select[multiple]'), true);

Cependant, lorsque j'essaie d'exécuter ce code, le vérificateur Eslint me communique une erreur (sur la ligne indiquée ci-dessus) de:

error Propriété attendue raccourci objet-raccourci

J'ai fait une recherche et lu la documentation, mais cela ne montre pas comment vous êtes censé utiliser une variable et la réponse non acceptée sur cette question semble penser qu'il peut s'agir d'un bogue dans eslint (bien que n'ont trouvé aucune preuve à l'appui)

Y at-il un moyen de faire ce travail ou devrais-je simplement désactiver la règle pour cette ligne?

24
Pete

Un extrait d'eslint concernant le problème:

Syntaxe abrégée littérale d'objet (objet-abrégée) - Détails de la règle

Cette règle impose l'utilisation de la syntaxe abrégée. Ceci s'applique à toutes les méthodes (y compris les générateurs) définies dans les littéraux d'objet et à toutes les propriétés définies lorsque le nom de la clé correspond au nom de la variable affectée.

Changement

closeOnSelect: closeOnSelect

pour juste

closeOnSelect
52
Carl Edwards