1
0
mirror of synced 2025-02-21 14:53:15 +03:00
vue-formulario/src/FormulateInputGroup.vue

41 lines
890 B
Vue
Raw Normal View History

<template>
<div class="formulate-input-group">
<component
:is="optionContext.component"
v-for="optionContext in optionsWithContext"
:key="optionContext.id"
v-model="context.model"
v-bind="optionContext"
class="formulate-input-group-item"
/>
</div>
</template>
<script>
export default {
name: 'FormulateInputGroup',
props: {
context: {
type: Object,
required: true
}
},
computed: {
options () {
return this.context.options || []
},
optionsWithContext () {
const { options, labelPosition, attributes, classification, ...context } = this.context
return this.options.map(option => this.groupItemContext(context, option))
}
},
methods: {
groupItemContext (...args) {
return Object.assign({}, ...args, {
component: 'FormulateInput'
})
}
}
}
</script>