Проблемы с рендерингом плагина VueJS. Vue Formulate

Итак, я не профессионал в vueJs, поэтому, если вам нужна дополнительная информация, просто напишите в комментариях, я постараюсь предоставить ее ... Так я использую этот плагин

import VueFormulate from '@braid/vue-formulate';
Vue.use(VueFormulate);

и в моем шаблоне, где я хочу использовать этот плагин

<FormulateInput
  type="email"
  name="email"
  label="Enter your email address"
  help="We’ll send you an email when your ice cream is ready"
  validation="required|email"
/>

но на странице браузера ничего нет, и то, что я вижу в отображенном дереве страниц

<formulateinput 
  type="email" 
  name="email" 
  label="Enter your email address" 
  help="We’ll send you an email when your ice cream is ready" 
  validation="required|email">
</formulateinput>

Итак, как я вижу, это не отображается.

Маленькая интересная вещь. Когда компонент, в котором я хочу использовать плагин, установлен, затем выводится в объекте плагина консоли, и он выходит

mounted() {  
   console.log(VueFormulate); 
}

экран с консоли  экран консоли

не могли бы вы помочь мне найти то, что мне не хватает? : 3


person Eugene Vajda    schedule 02.07.2020    source источник


Ответы (2)


Основная проблема заключалась в тегах шаблонов.

И компонент VueFormulate в моем шаблоне должен быть в нижнем регистре, разделен дефисом и иметь закрывающий тег

<formulate-input
  type="email"
  name="email"
  label="Enter your email address"
  help="We’ll send you an email when your ice cream is ready"
  validation="required|email"
></formulate-input>

вместо того

<FormulateInput
  type="email"
  name="email"
  label="Enter your email address"
  help="We’ll send you an email when your ice cream is ready"
  validation="required|email"
/>

Подробнее о стиле синтаксиса:

https://vuejs.org/v2/style-guide/#Component-name-casing-in-templates-strongly-recommended

введите описание изображения здесь

person Eugene Vajda    schedule 06.07.2020
comment
Имея ту же проблему, моя ошибка заключалась в закрытии тегов. Документы об этом ничего не говорят. - person luixal; 05.10.2020

попробуйте этот рабочий код:

App.js

<template>
  <div id="app">
  <FormulateInput
  type="email"
  name="email"
  label="Enter your email address"
  help="We’ll send you an email when your ice cream is ready"
  validation="required|email"
/></div>
</template>

<script>
import Vue from "vue";
import VueFormulate from '@braid/vue-formulate';
Vue.use(VueFormulate);

export default {
  name: "App",
};
</script>

<style>
#app {
  font-family: "Avenir", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

а Main.js должен быть таким:

import Vue from "vue";
import App from "./App.vue";

new Vue({
  render: h => h(App)
}).$mount("#app");

Фактически он визуализирует компонент, но без стиля! если вы хотите использовать стиль компонента, напишите:

@import '../node_modules/@braid/vue-formulate/themes/snow/snow.scss';

в файл стиля scss или импортируйте https://github.com/wearebraid/vue-formulate/blob/master/dist/snow.min.css в вашем проекте!

person Ehsan sepehri    schedule 02.07.2020
comment
Спасибо за ответ, это помогает мне и на правильном пути - person Eugene Vajda; 06.07.2020