You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
willaengine/resources/js/Global/components/FormLoader/FactoryPattern.vue

30 lines
708 B

<template>
<v-flex :class="element.width">
<component v-bind:is="element.type" :values="values" :element="element" ></component>
</v-flex>
</template>
<script>
import Vue from 'vue'
const requireElement = require.context('./Elements', true, /\.vue$/);
requireElement.keys().forEach(fileName => {
// Replace ./ and .vue
const elementName = fileName.replace(/(\.\/|\.vue)/g, '')
Vue.component(elementName,
() => import(`./Elements/${elementName}.vue`)
)
});
export default {
props:{
element:{
type: Object,
required: true
},
values: {
required: false,
type: Object,
}
},
}
</script>