TR
Başlangıç
58 · Formlar

Arama formu

Arama kutusu: büyüteç ikonu, yazınca beliren temizle düğmesi, klavye kısayolu ve isteğe bağlı birleşik Ara düğmesi. Sayfayı yenileyen bir GET formu ya da Livewire ile canlı arama olarak kullanılır.

acun:search
01

Temel arama

Alana yazınca sağda bir temizle (×) düğmesi çıkar; Esc de alanı temizler. class dıştaki kutuya gider (genişlik vermek için), diğer nitelikler (name, value, placeholder, autofocus…) alana eklenir. Görünür etiket yoksa placeholder ekran okuyucular için alanın adı olur.

CANLI ÖRNEK
<acun:search name="q" placeholder="Müşteri, sipariş no ya da e-posta ara" />
PropDeğerler
clearablefalse: temizle düğmesi ve Esc kapanır
02

Sayfayı yenileyen arama formu

action verildiğinde bileşen bir <form role="search"> olur: Enter ya da button ile eklenen Ara düğmesi aranan metni GET ile o adrese gönderir, metin adreste ?q= olarak kalır ve bağlantı paylaşılabilir. Diğer sorgu parametrelerini korumak için gizli alanları bileşenin içine yazın; formun içinde yer alırlar.

CANLI ÖRNEK
<acun:search name="q" :value="request('q')" :action="route('musteriler.index')" button="Ara" placeholder="Müşteri ara">
    <input type="hidden" name="durum" value="{{ request('durum') }}">
</acun:search>
PropDeğerler
actionFormun gönderileceği adres
methodGET (varsayılan) ya da POST; POST'ta @csrf eklenir
buttonBirleşik gönder düğmesinin metni
03

Klavye kısayolu

shortcut verilen tuş, sayfanın herhangi bir yerinde basıldığında alana odaklanır; başka bir alana yazılırken ya da Ctrl/⌘ ile basıldığında devreye girmez. Alan boşken ve odakta değilken sağda tuşun ipucu görünür.

CANLI ÖRNEK
<acun:search name="q" shortcut="/" placeholder="Menüde ara" />
PropDeğerler
shortcutAlana odaklanan tuş, örneğin "/"
04

Büyük boy

size="lg" 48 piksel yüksekliğinde, bir sayfanın ana araması için (örneğin yardım merkezi) daha büyük bir alan verir.

CANLI ÖRNEK
<acun:search name="soru" size="lg" button="Ara" placeholder="Örn. iade süreci, fatura indirme" />
PropDeğerler
sizemd (40 px, varsayılan) ya da lg (48 px)
05

Livewire ile canlı arama

wire:model.live ile yazdıkça sonuçlar gelir; bir istek sürerken büyütecin yerinde dönen bir gösterge çıkar (yalnızca bu özelliğin istekleri için). Sunucu değeri değiştirirse (örneğin bir "Temizle" düğmesiyle) temizle düğmesi ve kısayol ipucu kendiliğinden doğru görünür.

BLADE
<acun:search wire:model.live.debounce.300ms="arama" shortcut="/" placeholder="Müşteri ara" />
PropDeğerler
wire:modelBağlanan Livewire özelliği; alanın kimliği de buradan gelir
06

Filtreli arama formu

Diğer alanlarla bir formun içinde kullanırken action vermeyin (iç içe form olmaz) ve formun kendi gönder düğmesini kullanın. label alanın üstüne görünür bir etiket koyar.

CANLI ÖRNEK
<form wire:submit="ara" class="grid items-end gap-4 md:grid-cols-[minmax(0,2fr)_minmax(0,1fr)_auto]">
    <acun:search wire:model="aranan" label="Aranan" placeholder="Ad, telefon ya da adres" />
    <acun:select wire:model="durum" label="Durum" :options="['' => 'Tüm durumlar', 'bekliyor' => 'Bekliyor', 'onaylandi' => 'Onaylandı']" />
    <acun:button type="submit">Ara</acun:button>
</form>
PropDeğerler
labelAlanın üstündeki görünür etiket
API

Prop'lar ve slot'lar

Bileşenin kabul ettiği değerler.

PropVarsayılanAçıklama
namenullAlan adı (GET formunda sorgu parametresi)
placeholderAraYer tutucu; görünür etiket yoksa alanın erişilebilir adı
labelnullAlanın üstündeki görünür etiket
actionnullVerilirse bileşen <form role="search"> olur; yoksa <div role="search">
methodGETGET ya da POST (POST'ta @csrf eklenir)
buttonnullBirleşik gönder düğmesinin metni
shortcutnullAlana odaklanan tuş, örneğin "/"
clearabletrueTemizle (×) düğmesi ve Esc ile temizleme
sizemdmd (40 px) ya da lg (48 px)
class—Dıştaki kutuya eklenir; diğer nitelikler alana
Slot'lar: Varsayılan slot formun içine, alanın altına yazılır: diğer sorgu parametrelerini koruyan gizli alanlar için.
Acun UI · Arama formuDetaylı kullanım ve örnekler