FormBuilder Bileseni
SkForm, FB ile uretilen fluent konfigurasyona gore dinamik formlar olusturur.
Importlar
tsimport { FB } from '@lvntr/components/FormBuilder/core';
import SkForm from '@lvntr/components/FormBuilder/SkForm.vue';
Temel kullanim
vue<script setup lang="ts">
import { FB } from '@lvntr/components/FormBuilder/core';
import SkForm from '@lvntr/components/FormBuilder/SkForm.vue';
import users from '@/routes/users';
const formConfig = FB.form()
.cols(2)
.cardTitle('admin.users.create')
.submit({
url: users.store.url(),
method: 'post',
})
.addFields(
FB.inputText().key('first_name'),
FB.inputText().key('last_name'),
FB.inputText().key('email').inputType('email'),
FB.select().key('status').enumOptions('userStatus').default('active'),
FB.select().key('gender').definitionOptions('gender'),
FB.password().key('password').toggleMask(),
)
.build();
</script>
<template>
<SkForm :config="formConfig" />
</template>
Iki calisma modu
Dahili submit modu
submit(...) tanimlanirsa SkForm, kendi icinde Inertia useForm() yonetir.
Harici model modu
submit(...) yoksa v-model ile form verisini kendin yonetebilirsin.
<SkForm v-model="formData" :config="formConfig" :errors="errors" />
Form builder API
layout('vertical' | 'horizontal')cols(number)class(string)dataUrl(url)dataKey(key)initialData(record)actionsPosition('top' | 'bottom' | 'both')submit({ url, method, preserveScroll? })actionLabels(...)hideCancel(boolean)hideSubmit(boolean)onCancel('back' | 'emit')inDialog(boolean)showBack(boolean)cardTitle(string)cardSubtitle(string)isCard(boolean)addFields(...fields)
Ortak field metotlari
Cogu alan su metotlari destekler:
keylabelrequiredoptionalclasshintvisible(fn)disabled(fn)default(value)props({...})
Kullanilabilir field builder'lar
FB.inputText()FB.inputNumber()FB.inputOtp()FB.select()FB.multiselect()FB.radio()FB.selectButton()FB.checkbox()FB.checkboxGroup()FB.password()FB.textarea()FB.toggleButton()FB.toggleSwitch()FB.fileUpload()FB.colorSelector()FB.title()FB.slot()
Select benzeri alanlarda veri kaynaklari
Select alanlari secenekleri su kaynaklardan alabilir:
options([...])ile statik dizienumOptions('userStatus')ile Inertia shared PHP enum'laridefinitionOptions('gender')ile/definitionsoptionsUrl(...)ile uzaktan dinamik veri
Dahili davranislar
SkForm sunlari hazir olarak yonetir:
dataUrlile ilk veriyi cekme- definition verilerini once yukleme
- bagimli alan degisince dinamik select seceneklerini yenileme
- file upload alanlari varsa
forceFormDataile gonderme - dialog icin uygun cancel davranisi
- dahili veya harici modda birlesik hata gosterimi