当前位置: 首页 > 知识库问答 >
问题:

eslint对象-传递变量的速记错误

印宏阔
2023-03-14

我有以下功能,可以设置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(虽然我没有找到证据来支持)

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

共有3个答案

韦繁
2023-03-14

要使用键定义对象,但无法使用任何键。试试这个。

接口映射{[键:字符串]:字符串|未定义}

const HUMAN_MAP: Map = {
  draft: "Draft",
}

export const human = (str: string) => HUMAN_MAP[str] || str
郜俊晤
2023-03-14

此规则检查是否使用了对象文字速记语法,例如{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
  }
}
邢卓
2023-03-14

eslint关于这个问题的摘录:

需要对象文字速记语法(对象速记)-规则详细信息

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

改变

closeOnSelect: closeOnSelect

公正

closeOnSelect
 类似资料:
  • 我使用的是log4j版本2.10.0 我正在尝试使用混合的异步和同步记录器设置无gc日志记录(因此它是通过xml配置配置的,带有一些

  • 问题内容: 我正在考虑我的应用程序的解决方案。这是一种情况:我有一个类,该类的方法将ObjectA作为输入参数并调用几个小方法,这些方法中的每个方法都需要ObjectA的某些部分(它们不重叠,即需求和,需求等等)。 …)现在的问题是:鉴于一般的良好代码实践和性能,将ObjectA传递给这些方法中的每一个方法更好,以便它们可以自己提取所需的值,还是仅传递它们的值更好?我的意思是: 要么 感谢您的任何

  • 我有一个VBA脚本,可以计算Outlook中选定文件夹中的未读电子邮件。目前,帐户和文件夹名是硬编码到脚本中的,但我想让它可以从excel表单中配置。 当前该变量设置在以下位置: 理想情况下,我希望有一个名为Config的工作表,其数据如下: 有没有人能提供一些关于如何做到这一点的线索?

  • 问题内容: 好的,所以我想在动态生成的模板url中使用作用域变量。所以我尝试了这个: html js 我原本希望返回的值,但最终却得到了。结果导致templateUrl为。 那么,我该怎么办才能获取范围变量的值而不是原始文本? 问题答案: 作用域值不能从指令的templateUrl中访问。这些属性尚未编译,因此无法在此上下文中访问范围。 这是一种可能适合您的解决方法。 见Plunkr 我在这里所做

  • 我的POJO很大。Map Struct中是否有一种方法可以自动增加列表中的变量?

  • 我对RxJava很陌生,每当我有一个情况,我需要从链上的一个可观察的返回数据传递到调用“订阅” - 我很难理解如何在没有任何补丁的情况下以“反应式”方式做到这一点...... 例如: 我想发出obs1和obs2,得到它们的结果,然后发出obs3然后obs4,然后以订阅结束链,同时可以访问obs1、obs2、obs3和obs4的结果。 调用的顺序很重要,我需要在执行obs3之前完成obs1和obs2