SearchForm 搜索表单

响应式搜索表单组件,支持动态列数、展开/收起功能。

安装

npm
yarn
pnpm
bun
deno
npx shadcn@latest add http://localhost:3000/r/search-form.json

基础用法

响应式列数配置

通过 cols 属性配置不同屏幕尺寸下每行显示的列数。

自定义操作按钮

通过 actions 属性自定义操作按钮区域。

展开/收起

当表单项数量较多时,会自动显示展开/收起按钮。

API

SearchForm

属性说明类型默认值
form表单实例,如果不传入则内部创建FormInstance<unknown>-
cols响应式列数配置,数字代表一行显示几个{ xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number; }{ xs: 1, sm: 2, md: 3, lg: 4 }
className表单的 classNamestring-
maxCount最大显示数量,优先级高于 maxRowsnumber-
maxRows最大显示行数,默认 2number2
defaultCollapsed默认是否收起,默认 truebooleantrue
collapsible是否显示展开/收起按钮booleantrue
resetText重置按钮文本string重置
searchText查询按钮文本string查询
onSearch表单提交回调(values: Record<string, any>) => void-
onReset表单重置回调() => void-
actions操作按钮区域ReactNode-
labelWidth标签宽度,默认 66number66

cols 配置说明

属性说明屏幕尺寸
xs超小屏幕<576px
sm小屏幕≥576px
md中等屏幕≥768px
lg大屏幕≥992px
xl超大屏幕≥1200px
xxl特大屏幕≥1600px

每个 breakpoint 的值代表该屏幕尺寸下一行显示的列数。