Skip to content

GridMultiTemplate

Template grid par défaut pour le type multi.

Props système

  • fieldKey
  • getCurrentValue()
  • getFormFields()

Props grid

  • columns?: number
  • maxColumns?: number
  • gap?: number

Slots

  • formField

Exemple

vue
vue
<script setup lang="ts">
import { type MultiTemplateProperties } from "@duplojs/form/vue";
import { computed } from "vue";
import { type GridTemplateLayoutContainerProps } from "@duplojs/form/vueGrid";

type Props = (
	& MultiTemplateProperties["props"]
	& GridTemplateLayoutContainerProps
);

const props = defineProps<Props>();
defineSlots<MultiTemplateProperties["slots"]>();

const containerStyles = computed(() => ({
	"--DFV-grid-max-columns": props.maxColumns,
	"--DFV-grid-gap": props.gap !== undefined ? `${props.gap}px` : undefined,
	"--DFV-grid-columns": props.columns,
}));
</script>

<template>
	<div
		class="DFV-grid-container DFV-grid-element"
		:style="containerStyles"
	>
		<slot name="formField" />
	</div>
</template>

Ce que fait ce template

  • crée un conteneur grid imbriqué ;
  • laisse chaque sous-champ gérer sa propre largeur dans la grille.

Released under the MIT License.