SearchForm 搜索表单

响应式搜索表单组件,支持容器查询自适应布局、展开/收起功能。

安装

npm
yarn
pnpm
bun
deno
npx shadcn@latest add https://codebase.anyask.dev/r/search-form.json

基础用法

响应式布局

组件使用 容器查询 实现响应式布局,根据父容器宽度自动调整列数。

容器宽度列数
<640px1 列
≥640px2 列
≥1024px3 列
≥1280px4 列

父容器需要设置 container-type: inline-size 才能生效容器查询。

最大列数

通过 maxCols prop 限制最大列数,默认 4 列。

自定义操作按钮

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

展开/收起

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

API

SearchForm

属性说明类型默认值
form表单实例,如果不传入则内部创建FormInstance<unknown>-
className表单的 classNamestring-
maxCols最大列数,默认 4,范围 1-41 | 2 | 3 | 44
maxCount最大显示数量number-
defaultCollapsed默认是否收起,默认 truebooleantrue
collapsible是否显示展开/收起按钮booleantrue
resetText重置按钮文本string重置
searchText查询按钮文本string查询
onSearch表单提交回调(values: Record<string, any>) => void-
onReset表单重置回调() => void-
renderActions自定义操作按钮区域 render 函数(props: ActionsRenderProps) => ReactNode-
labelWidth标签宽度,默认 66number66