GridFormTemplate
Default grid template for the form type.
System props
fieldKeygetCurrentValue()
Grid props
maxColumns?: numbergap?: number
Slots
formFieldsubmitter
Emits
submit
Example
vue
<script setup lang="ts">
import { type FormTemplateProperties } from "@duplojs/form/vue";
import { computed } from "vue";
import { type GridTemplateContainerProps } from "@duplojs/form/vueGrid";
type Props = (
& FormTemplateProperties["props"]
& GridTemplateContainerProps
);
const props = defineProps<Props>();
defineSlots<FormTemplateProperties["slots"]>();
defineEmits<FormTemplateProperties["emits"]>();
const containerStyles = computed(() => ({
"--DFV-grid-max-columns": props.maxColumns,
"--DFV-grid-gap": props.gap !== undefined ? `${props.gap}px` : undefined,
}));
</script>
<template>
<form class="DFV-grid-form">
<div
class="DFV-grid-container"
:style="containerStyles"
>
<slot name="formField" />
</div>
<slot name="submitter" />
</form>
</template>What this template does
- creates a
<form>; - wraps fields in a grid container;
- keeps the submit area outside the main grid.
