SuperAPI AI 工具集

syncfusion-vue-query-builder

前端与建站

查看项目

更新于 10-16 04:01

技能介绍

Syncfusion Vue Query Builder 是 Syncfusion 提供的 Vue UI 组件之一,本技能文档以 Vue 3 Composition API 为主线,讲解如何实现与定制该查询构建器。该组件用于在界面上创建与管理复杂筛选条件,输出结构化 JSON,并可转换为 SQL、Mongo 查询或自定义谓词,用于后续数据过滤。

用途与定位 该组件面向需要图形化规则编辑器的场景,用户无需手写查询语句,即可通过界面组合字段、运算符与值,形成多条件、可嵌套的过滤规则,并将结果交给后端执行或用于前端数据筛选。

主要能力

  1. 规则管理:支持规则与分组的创建、编辑、删除和嵌套。
  2. 多数据类型:支持 string、number、date、boolean 及自定义类型。
  3. 运算符:内置 16 种以上运算符,如 equal、contains、between、in 等。
  4. 查询转换:可转换为 SQL、Mongo 或参数化查询;支持 getSqlFromRules()、getMongoQuery()、setRulesFromSql() 等。
  5. 定制:支持自定义模板、主题与样式。
  6. 无障碍:符合 WCAG,支持键盘导航与屏幕阅读器。
  7. 高级功能:拖拽、状态持久化、克隆、锁定。
  8. Vue 3 Composition API:使用 ref()、computed()、provide/inject 进行响应式状态管理。

使用方式(基于文档提供的参考结构) 文档按主题组织,包括:入门(安装、包设置、CSS 导入与主题、使用 ref() 初始化、TypeScript 列定义、Vite 运行);列与运算符(ColumnsModel 接口、自动生成列、标签与字段映射、按类型的运算符、step 与 format、响应式验证配置);数据绑定(本地数组 reactive()、DataManager 适配器、ODataV4Adaptor、watch() 动态更新、响应式处理数据源变更);规则与过滤(RuleModel 结构、addRules()、addGroups()、通过模板引用删除规则与分组、嵌套层次、拖拽管理、showButtons 配置);查询转换(getSqlFromRules()、getMongoQuery()、参数化 SQL、命名参数、DataManager 谓词、从 SQL 导入规则、SQL 转换本地化);模板与定制(v-slot 自定义头部模板、自定义组件注入、CSS 类与 cssClass、Theme Studio 集成、自定义运算符、actionBegin 事件);高级功能(水平/垂直显示模式、cloneRule/cloneGroup、锁定规则、独立连接线、限制分组操作、RTL、enablePersistence、排序方向、摘要视图、无障碍与键盘导航);API 参考(属性、方法、事件、模型接口与返回类型)。

快速开始示例文档给出完整代码,包含模板中的 ejs-querybuilder、列定义 columns、初始规则 initialRules、getSqlFromRules() 生成 SQL、reset() 重置以及 change 事件处理,并配有样式。常见模式还展示:将过滤结果获取为 SQL、以编程方式添加规则、将 SQL 转回规则、以及结合响应式状态显示摘要视图。属性速查表列出 columns、rule、dataSource、displayMode、allowDragAndDrop、enablePersistence、enableRtl、allowValidation、summaryView、showButtons、maxGroupCount、readonly 等及其类型与默认值。

适用场景

  1. 高级搜索过滤:让用户构建多条件复杂搜索查询,提交时取回 SQL 并在后端执行。
  2. 数据驱动仪表盘:结合远程 DataManager,用户跨列筛选数据,用 getPredicate() 过滤并动态展示结果。
  3. 查询模板系统:通过 enablePersistence 自动保存状态,或手动用 getRules() 保存、setRules() 加载。
  4. 报表构建器:自定义头部模板、自定义运算符、启用验证、显示摘要视图并生成 SQL 用于报表执行。

限制与未提供信息 文档展示了组件功能与实现路径,但未提供收费方式、价格、商业授权、性能基准或平台兼容性等细节,这些信息暂未提供,请以官方渠道为准。