理解如何避免VueJS中的vue/require-prop-type-constructor警告

8

我正在使用一个布尔变量 isTabsEnabled 来控制 Tabview 的显示和隐藏。该属性被作为子元素传递给使用它的屏幕,这是父文件:

export{
  props:{
    isTabsEnabled: true
  }
}

ESLint抛出错误vue/require-prop-type-constructor,我尝试使用propsData,这样可以去除警告信息,但是功能会受到影响。

有什么建议可以避免这个警告吗?

1个回答

23

你需要指定属性类型:

props: {
  isTabsEnabled: {
    type: Boolean,
    default: true
  }
}

谢谢。你能指导我相关的文档吗?我找不到相关的帖子。 - Vasu Mistry
5
在Vue.js的风格指南中,有关Prop定义的内容,请参考链接:https://vuejs.org/v2/style-guide/#Prop-definitions-essential另外,在eslint-plugin-vue文档中,也有关于要求使用prop类型构造函数的规则,请查看链接:https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/require-prop-type-constructor.md - Decade Moon
@DecadeMoon 这段代码 props: { foo: { types: [null, String] } } 是有效的,但是 eslint 抓住了它并标记为错误。你有什么解决办法吗? - Adam Orłowski
@AdamOrlov 这意味着 foo 可以是任何类型(包括 null)或字符串,因此它是多余的。 - Decade Moon
1
@Adam 因为你不能在这里使用 null 来表示“需要该值为 null”;Vue 将 null 视为“任何值”。你必须使用 validator 进行此类断言。 - Decade Moon
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接