🔥 新プロジェクトのご紹介 t0ggles - 究極のプロジェクト管理ツール! 🔥

検索バー React コンポーネント

検索バーでは、ユーザーがリストビュー要素を検索できます。または、カスタム検索を実現するための視覚的なUIコンポーネントとして使用できます。

検索バーのコンポーネント

以下のコンポーネントが含まれています

  • 検索バー

検索バーのProps

名前タイプデフォルト説明
clearButtonboolean(真偽値)true(真)

入力クリアボタンを追加します

colorsobject(オブジェクト)

Tailwind CSS カラークラスを持つオブジェクト

colors.inputBgIosstring(文字列)''
colors.inputBgMaterialstring(文字列)'bg-md-light-secondary-container dark:bg-md-dark-secondary-container'
colors.placeholderIosstring(文字列)''
colors.placeholderMaterialstring(文字列)'placeholder-md-light-on-surface-variant dark:placeholder-md-dark-on-surface-variant'
componentstring(文字列)'div'

コンポーネントのHTML要素

disableButtonboolean(真偽値)false(偽)

検索をキャンセルするためのボタンを追加し、初期状態を設定します

disableButtonTextstring(文字列)'キャンセル'

キャンセルボタンのテキスト

inputIdstring(文字列)

入力ID属性

inputStyleCSSProperties

追加の入力クラス

placeholderstring(文字列) | 文字列'検索'

検索バーのプレースホルダー

valueany(任意)

検索バーの値

onBlurfunction(e)

blur イベントハンドラ

onChangefunction(e)

change イベントハンドラ

onClearfunction(e)

クリアボタンクリック時に実行されます

onDisablefunction(e)

検索バーが無効化されたときに実行されます

onFocusfunction(e)

focus イベントハンドラ

onInputfunction(e)

input イベントハンドラ

Searchbar.jsx
import React, { useState } from 'react';
import {
Page,
Navbar,
NavbarBackLink,
Searchbar,
List,
ListItem,
} from 'konsta/react';
const 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' },
];
export default function SearchbarPage() {
const [searchQuery, setSearchQuery] = useState('');
const handleSearch = (e) => {
setSearchQuery(e.target.value);
};
const handleClear = () => {
setSearchQuery('');
};
const handleDisable = () => {
console.log('Disable');
};
const filteredItems = searchQuery
? items.filter((item) =>
item.title.toLowerCase().includes(searchQuery.toLowerCase())
)
: items;
return (
<Page>
<Navbar
title="Searchbar"
subnavbar={
<Searchbar
onInput={handleSearch}
value={searchQuery}
onClear={handleClear}
disableButton
disableButtonText="Cancel"
onDisable={handleDisable}
/>
}
/>
<List strong insetMaterial outlineIos>
{filteredItems.length === 0 ? (
<ListItem title="Nothing found" className="text-center" />
) : (
filteredItems.map((item) => (
<ListItem key={item.title} title={item.title} />
))
)}
</List>
</Page>
);
}
コードライセンス MIT.
2022 © Konsta UI by nolimits4web.