Как указать «ключ» в качестве обязательного реквизита? - PullRequest
0 голосов
/ 31 октября 2018

Я хочу это

export default {

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

Но это приводит к ошибке во время выполнения:

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

EDIT:

Чтобы уточнить: я хочу, чтобы зарезервированный атрибут "ключ" был обязательным. Это потому, что мой компонент основан на уловке «Принудительное восстановление компонента с помощью смены ключа». (ссылка)

1 Ответ

0 голосов
/ 31 октября 2018

key является одним из специальных атрибутов , зарезервированных Vue.js.

Он не может быть передан как prop, так же как ref, slot, scoped-slot, is.

Просто переименуйте prop на любое имя по вашему выбору.

Если использование свойства с именем key является критическим внутри дочернего компонента, можно создать вычисляемое свойство key внутри дочернего компонента, которое будет возвращать значение из переданного prop и будет доступно внутри дочернего компонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...