【问题标题】:ESLint is not aware of components of Element UIESLint 不知道 Element UI 的组件
【发布时间】:2021-05-06 08:54:35
【问题描述】:

我正在使用 Vue.js 和 Element UI。当我使用 InputCol 等 Element UI 组件时,ESLint 认为 invalid-end-tag 如下。

我已经设置了eslint-plugin-vue,为什么 ESLint 不知道自定义组件呢?
有没有办法解决这个错误?

<template>
  <div>
    <Input
      v-model="formLogin.username"
      type="text"
      size="large"
      @on-enter="handleLogin"
    >
    <Icon
      slot="prepend"
      type="ios-person-outline"
    />
    </Input>
  </div>
</template>
Parsing error: x-invalid-end-tag. eslint(vue/no-parsing-error) [13, 5]

【问题讨论】:

    标签: javascript vue.js vue-component eslint element-ui


    【解决方案1】:

    &lt;input&gt;&lt;col&gt; 都不是 Element UI 组件。

    它们都是原生 HTML 标记,并且都是不能以这种方式使用的自闭合标记。

    • 元素 UI 使用 &lt;el-input&gt;,而不是 &lt;input&gt;

    • 元素 UI 使用 &lt;el-col&gt;,而不是 &lt;col&gt;

    • 要在&lt;el-input&gt; 中添加图标,请使用prefix-icon 属性或prefix 插槽

    一个正确的例子:

    <el-row>
      <el-col :span="12">
        <el-input
          v-model="input"
        >
          <i slot="prefix" class="el-input__icon el-icon-user"></i>
        </el-input>
      </el-col>
    </el-row>
    
    <script>
    export default {
      data() {
        return {
          input: ''
        }
      }
    }
    </script>
    

    【讨论】:

    • 其实我的问题是错的。这些是“iview”组件,而不是“Element UI”组件。我发现 iview 组件的这种 eslint 问题并没有解决,所以我不得不在.eslintrc 中添加自定义规则。 github.com/iview/iview/issues/2828
    • 有趣,我第一次听说 iView。不过,将组件命名为与本机标签相同是多么糟糕的主意。
    猜你喜欢
    • 1970-01-01
    • 2019-11-26
    • 2017-11-08
    • 2018-07-25
    • 2022-06-25
    • 2020-03-05
    • 2021-03-09
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多