🔥 遇见我们的新项目 t0ggles - 您终极的项目管理工具! 🔥

搜索栏 React 组件

搜索栏允许用户搜索 列表视图 元素。或者它可以作为您自定义搜索实现的视觉 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'
component字符串'div'

组件的 HTML 元素

disableButton布尔值false

添加用于取消搜索的按钮并设置其初始状态

disableButtonText字符串'取消'

禁用按钮文本

inputId字符串

输入 id 属性

inputStyleCSSProperties

其他输入类

placeholder字符串 | 数字'搜索'

搜索栏占位符

value任何

搜索栏值

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 由 nolimits4web.