传入变量的eslint对象速记错误

新手上路,请多包涵

我有以下设置 select2 插件的功能,如果它们是多个,则需要选择保持打开状态,如果不是,则关闭:

 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);

但是,当我尝试运行此代码时,eslint 检查器给我一个错误(在上面显示的行中):

错误预期属性简写对象简写

我已经进行了搜索并阅读了文档,但它没有显示您打算如何使用变量,而且 这个问题 上不被接受的答案似乎认为它可能是 eslint 中的一个错误(尽管我没有发现任何证据支持这一点)

有没有办法让它工作,或者我应该只禁用该行的规则?

原文由 Pete 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 293
2 个回答

关于这个问题的 eslint 摘录

需要对象文字简写语法(object-shorthand)——规则细节

此规则强制使用速记语法。这适用于在对象字面量中定义的所有方法(包括生成器)以及在键名与分配变量的名称匹配的情况下定义的任何属性。

改变

closeOnSelect: closeOnSelect

只是

closeOnSelect

原文由 Carl Edwards 发布,翻译遵循 CC BY-SA 3.0 许可协议

规则 检查是否使用了对象文字速记 语法,例如 {a, b} 而不是 {a: a, b: b} 。该规则是可配置的,有关更多详细信息,请参阅 选项

尽管这种速记语法很方便,但在某些情况下您可能不想强制使用它。您可以在配置中禁用检查:

 // .eslintrc.json

{
  "rules": {
    // Disables the rule. You can just remove it,
    // if it is not enabled by a parent config.
    "object-shorthand": 0
  }
}

如果是 TSLint ,则有一个不同的 选项

 // tslint.json

{
  "rules": {
    // Disables the rule. You can just remove it,
    // if it is not enabled by a parent config.
    "object-literal-shorthand": false
  }
}

原文由 Valeriy Katkov 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题