Пользовательский тип пропеллера Vue.js - PullRequest
0 голосов
/ 01 ноября 2018

Есть ли способ создать пользовательские типы реквизитов (и расширить их с помощью валидации) для реквизитов Vue.js?

В приведенном ниже примере вы найдете Object prop background. Вместо объекта я хотел бы иметь собственный тип изображения Image. Изображение будет проверять, заполнены ли src и alt, остальные будут необязательными.

Что мы имеем сейчас:

export default {
  props: {
    background: {
      type: Object,
      src: String,
      srcset: String,
      alt: String,
      title: String,
    },
  },
};

Что бы я хотел иметь:

class customPropImage {
  // magic ...
}

export default {
  props: {
    background: Image,
  },
};

1 Ответ

0 голосов
/ 01 ноября 2018

Конечно, вы можете сделать это. В соответствии с документацией Vue вы можете установить тип для конструктора вашего пользовательского типа. С пользовательской проверкой это может выглядеть примерно так:

function CustomImage () {
  // Magic
}

Vue.component('blog-post', {
  props: {
    myImage: {
      type: CustomImage,
      validator: function (value) {
        return true; // or false based on value of myImage
      }
    }
  }
})

Вот пример для кодов и ящиков

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