🔥 看看我們的新專案 t0ggles - 您終極的專案管理工具! 🔥

搜尋欄 Svelte 組件

搜尋欄允許使用者搜尋清單檢視元素。或者,它可以作為您自訂搜尋實現的可視化 UI 組件。

搜尋欄組件

包含以下組件

  • 搜尋欄

搜尋欄屬性

名稱類型預設值描述
clearButton布林值true

新增輸入清除按鈕

colors物件

具有 Tailwind CSS 顏色類別的物件

colors.inputBgIos字串''
colors.inputBgMaterial字串'bg-md-light-secondary-container dark:bg-md-dark-secondary-container'
colors.placeholderIos字串''
colors.placeholderMaterial字串'placeholder-md-light-on-surface-variant dark:placeholder-md-dark-on-surface-variant'
disableButton布林值false

新增用於取消搜尋的按鈕,並設定其初始狀態

disableButtonText字串'取消'

停用按鈕文字

inputId字串

輸入 id 屬性

inputStyleCSSProperties

其他輸入類別

placeholder字串 | 數字'搜尋'

搜尋欄預留位置文字

value任何

搜尋欄值

onBlur函式(e)

blur 事件處理器

onChange函式(e)

change 事件處理器

onClear函式(e)

在點擊清除按鈕時觸發

onDisable函式(e)

在停用搜尋欄時觸發

onFocus函式(e)

focus 事件處理器

onInput函式(e)

input 事件處理器

範例

Searchbar.svelte
<script>
import {
Page,
Navbar,
NavbarBackLink,
Searchbar,
List,
ListItem,
} from 'konsta/svelte';
let searchQuery = '';
let items = [
{ title: 'FC Ajax' },
{ title: 'FC Arsenal' },
{ title: 'FC Athletic' },
{ title: 'FC Barcelona' },
{ title: 'FC Bayern München' },
{ title: 'FC Bordeaux' },
{ title: 'FC Borussia Dortmund' },
{ title: 'FC Chelsea' },
{ title: 'FC Galatasaray' },
{ title: 'FC Juventus' },
{ title: 'FC Liverpool' },
{ title: 'FC Manchester City' },
{ title: 'FC Manchester United' },
{ title: 'FC Paris Saint-Germain' },
{ title: 'FC Real Madrid' },
{ title: 'FC Tottenham Hotspur' },
{ title: 'FC Valencia' },
{ title: 'FC West Ham United' },
];
function handleSearch(e) {
searchQuery = e.target.value;
}
function handleClear() {
searchQuery = '';
}
function handleDisable() {
console.log('Disable');
}
let filteredItems = [];
/* eslint-disable */
$: {
filteredItems = searchQuery
? items.filter((item) =>
item.title.toLowerCase().includes(searchQuery.toLowerCase())
)
: items;
}
/* eslint-enable */
</script>
<Page>
<Navbar title="Searchbar"> <Searchbar
slot="subnavbar"
onInput={handleSearch}
value={searchQuery}
onClear={handleClear}
disableButton
disableButtonText="Cancel"
onDisable={handleDisable}
/>
</Navbar>
<List strong insetMaterial outlineIos>
{#if filteredItems.length === 0}
<ListItem title="Nothing found" />
{/if}
{#each filteredItems as item (item.title)}
<ListItem key={item.title} title={item.title} />
{/each}
</List>
</Page>
程式碼授權於 MIT.
2022 © Konsta UI 由 nolimits4web.