【问题标题】:How to specify "key" as a required prop?如何将“key”指定为必需的道具?
【发布时间】:2018-10-31 07:24:51
【问题描述】:

我想要这个

export default {

  props: {
    key: {
      type: String,
      required: true,
    },
  },
  ...    
}

但是会导致运行时错误:

[Vue warn]: "key" is a reserved attribute and cannot be used as component prop.

编辑:

澄清一下:我希望保留属性“key”是必需的。这是因为我的组件依赖于“通过键更改强制组件重新创建”的技巧。 (link)

【问题讨论】:

  • 你不能直接加前缀吗,比如:input-key, something-key
  • @KrzysztofAtłasik:不,因为我指的是一个名为“key”的特殊属性。
  • 在控制台中可以看到,key是保留属性,所以不能使用。你想达到什么目的?

标签: vue.js vuejs2


【解决方案1】:

key 是 Vue.js 保留的 special attributes 之一。

不能作为prop传递,与refslotscoped-slotis相同。

只需将 prop 重命名为您选择的任何名称。

如果在子组件内使用名为key 的属性至关重要,则可以在子组件内创建一个计算属性key,该属性将从传递的prop 返回值,并可在子组件内访问。

【讨论】:

    【解决方案2】:

    VUE 更新视图,因为数据的键已更改。关键是道具特别。所以支持你用其他词。 enter image description here

    【讨论】:

      猜你喜欢
      • 2017-04-07
      • 1970-01-01
      • 2018-03-22
      • 2018-09-03
      • 2018-09-22
      • 2018-10-21
      • 2017-03-06
      • 2017-01-27
      • 1970-01-01
      相关资源
      最近更新 更多