Skip to content

SearchForm

搜索表单组件,用于列表页面的条件筛选。

基础用法

SearchForm 通常与 PageTemplate 配合使用,通过 useState 配置自动集成。

typescript
useState({
  searchConfig: [
    { type: "input", prop: "name", label: "名称" },
    { type: "select", prop: "status", label: "状态", dictType: "sys_status" },
  ],
});

搜索配置

typescript
import { defineSearchConfig } from "vue-admin-kit";

const searchConfig = defineSearchConfig([
  {
    type: "input",
    prop: "name",
    label: "名称",
    span: 8,
    placeholder: "请输入名称",
  },
  {
    type: "select",
    prop: "status",
    label: "状态",
    dictType: "sys_status",
    filterable: true,
  },
  {
    type: "date",
    prop: "createTime",
    label: "创建时间",
    dateType: "daterange",
  },
]);

配置项

属性类型说明
typestring组件类型
propstring字段名
labelstring标签
spannumber栅格占比(24 栅格)
placeholderstring占位文本
dictTypestring字典类型
optionsarray静态选项
filterableboolean是否可搜索
multipleboolean是否多选

自定义搜索区域

vue
<template>
  <PageTemplate>
    <template #search>
      <!-- 自定义搜索内容 -->
      <el-form :model="searchForm" inline>
        <el-form-item label="名称">
          <el-input v-model="searchForm.name" />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="handleSearch">搜索</el-button>
        </el-form-item>
      </el-form>
    </template>
    <template #table>
      <Table />
    </template>
  </PageTemplate>
</template>

Released under the MIT License.