跳至内容

vue/sort-keys

以与 order-in-components 兼容的方式强制排序键

此规则与核心 sort-keys 规则几乎相同,但它不会对顶级组件属性产生错误,从而允许使用 order-in-components 强制执行该顺序。

📖 规则详细信息

此规则强制许多字典属性按字母顺序排列,同时允许 order-in-components、属性详细信息和其他类似字段不按字母顺序排列。

正在加载...
正在加载...

🔧 选项

json
{
    "vue/sort-keys": ["error", "asc", {
        "caseSensitive": true,
        "ignoreChildrenOf": ["model"],
        "ignoreGrandchildrenOf": ["computed", "directives", "inject", "props", "watch"],
        "minKeys": 2,
        "natural": false
  }]
}

第一个选项是 "asc""desc"

  • "asc"(默认) - 强制属性按升序排列。
  • "desc" - 强制属性按降序排列。

第二个选项是一个对象,它有 5 个属性。

  • caseSensitive - 如果为 true,则强制属性按区分大小写的顺序排列。默认值为 true
  • ignoreChildrenOf - 要忽略其子级的属性数组。默认值为 ["model"]
  • ignoreGrandchildrenOf - 要忽略其孙子排序顺序的属性数组。默认值为 ["computed", "directives", "inject", "props", "watch"]
  • minKeys - 指定对象应具有的最小键数,以便对象的未排序键产生错误。默认值为 2,这意味着默认情况下,所有具有未排序键的对象都会导致 lint 错误。
  • natural - 如果为 true,则强制属性按自然顺序排列。默认值为 false。自然顺序以人类排序的方式比较包含字母和数字组合的字符串。它基本上按数字排序,而不是按字母顺序排序。因此,数字 10 在自然排序中位于数字 3 之后。

在使用此规则时,您可能需要禁用正常的 sort-keys 规则。此规则将适用于纯 js 文件以及 Vue 组件脚本。

📚 进一步阅读

🚀 版本

此规则是在 eslint-plugin-vue v6.2.0 中引入的

🔍 实现