svelte search
v2.1.0
ส่วนประกอบการค้นหา Svelte ที่เข้าถึงได้และปรับแต่งได้
องค์ประกอบการค้นหานี้ประกอบด้วย form
ความหมายและองค์ประกอบ input
ดู svelte-typeahead สำหรับองค์ประกอบการค้นหาพร้อมผลลัพธ์แบบเลื่อนลง
ลองใช้ใน Svelte REPL
# npm
npm i svelte-search
# pnpm
pnpm i svelte-search
# Yarn
yarn add svelte-search
# Bun
bun add svelte-search
ส่วนประกอบนี้ไม่ได้รับการออกแบบตามสไตล์ กำหนดเป้าหมายองค์ประกอบโดยใช้ตัวเลือก [data-svelte-search]
: global ([ data-svelte-search ] input ) {
width : 100 % ;
font-size : 1 rem ;
padding : 0.5 rem ;
margin : 0.5 rem 0 ;
border : 1 px solid # e0e0e0 ;
border-radius : 0.25 rem ;
}
< script >
import Search from " svelte-search " ;
let value = " " ;
</ script >
< Search bind:value />
{ #if value }
< button on:click ={() => ( value = " " )}>Clear "{ value }"</ button >
{ /if }
องค์ประกอบ input
มีอยู่ใน form
ใช้เหตุการณ์ submit
ส่งต่อเพื่อรับค่าเมื่อกด "Enter"
< Search bind:value on:submit ={() => console . log ( " submit " , value )} />
$$restProps
จะถูกส่งต่อไปยังองค์ประกอบอินพุต
< Search label = " My label " placeholder = " Placeholder text... " />
< Search >
< span slot = " label " style = " color: red; " >Custom label</ span >
</ Search >
ตั้งค่า hideLabel
เป็น true
เพื่อซ่อนป้ายกำกับด้วยสายตา
< Search hideLabel label = " My label " placeholder = " Placeholder text... " />
ใช้เสา autofocus
เพื่อโฟกัสอินพุตอย่างชัดเจน
< Search autofocus />
ผูกเสา ref
เพื่อเน้นอินพุตโดยทางโปรแกรม
< script >
import Search from " svelte-search " ;
let ref = null ;
</ script >
< Search bind:ref />
< button on:click ={() => ref . focus ()}>Focus</ button >
ใช้เสา debounce
เพื่อระบุค่า debounce ในหน่วยมิลลิวินาที
< script >
import Search from " svelte-search " ;
let events = [];
</ script >
< Search
debounce ={ 800 }
on:type ={({ detail : value }) => ( events = [ ... events , value ])}
/>
< pre >{ JSON . stringify ( events , null , 2 )}</ pre >
$$restProps
จะถูกส่งต่อไปยังองค์ประกอบอินพุต
ชื่อพร็อพ | พิมพ์ | ค่าเริ่มต้น |
---|---|---|
ค่า | string | "" |
ฉลาก | string | "Search" |
ซ่อนฉลาก | boolean | false |
ดีเด้ง | number | 0 |
อ้างอิง | HTMLInputElement | null |
รหัส | string | "search" + Math.random().toString(36) |
ลบFormAriaAttributes | boolean | false |
ออโต้โฟกัส | boolean | false |
< Search
on:type ={( e ) => {
console . log ( " type " , e . detail ); // input value
}}
on:clear ={() => {
console . log ( " clear " );
}}
/>
บันทึกการเปลี่ยนแปลง
เอ็มไอที