# react15-querybuilder **Repository Path**: HenryMorganJo/react15-querybuilder ## Basic Information - **Project Name**: react15-querybuilder - **Description**: 基于React15构建SQL查询条件的组件 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2021-06-09 - **Last Updated**: 2025-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # react15-querybuilder 这个 React 组件是在[React QueryBuilder](https://github.com/react-querybuilder/react-querybuilder) v1.3.8 基础上又新增了新的功能 该项目使用了 React 15,如果要在基于 React 16 以上的版本的项目中使用,可以使用 [React QueryBuilder](https://github.com/react-querybuilder/react-querybuilder) ## Getting Started ```shell npm install react15-querybuilder --save ``` ## Usage ```jsx import QueryBuilder from "react15-querybuilder"; const fields = [ { name: "firstName", label: "First Name" }, { name: "lastName", label: "Last Name" }, { name: "age", label: "Age" }, { name: "address", label: "Address" }, { name: "phone", label: "Phone" }, { name: "email", label: "Email" }, { name: "twitter", label: "Twitter" }, { name: "isDev", label: "Is a Developer?", value: false }, ]; const dom = ; function logQuery(query) { console.log(query); } ``` ## API `` is the only top-level component exposed from this library. It supports the following properties: #### fields _(Required)_ [ {name:String, label:String} ] The array of fields that should be used. Each field should be an object with `{name:String, label:String}` | #### operators _(Optional)_ [ {name:String, label:String} ] The array of operators that should be used. The default operators include: ```js [ { name: "=", label: "=" }, { name: "!=", label: "!=" }, { name: "<", label: "<" }, { name: ">", label: ">" }, { name: "<=", label: "<=" }, { name: ">=", label: ">=" }, { name: "contains", label: "Contains" }, { name: "beginsWith", label: "Begins With" }, { name: "endsWith", label: "Ends With" }, { name: "doesNotContain", label: "Does Not Contain" }, { name: "doesNotBeginWith", label: "Does Not Begin With" }, { name: "doesNotEndWith", label: "Does Not End With" }, { name: "null", label: "Null" }, { name: "notNull", label: "Not Null" }, { name: "in", label: "In " }, { name: "notIn", label: "Not In" }, ]; ``` #### combinators _(Optional)_ [ {name:String, label:String} ] The array of combinators that should be used for RuleGroups. The default set includes: ```js [ { name: "and", label: "AND" }, { name: "or", label: "OR" }, ]; ``` #### controlElements _(Optional)_ ```js React.PropTypes.shape({ addGroupAction: React.PropTypes.func, // React.component removeGroupAction: React.PropTypes.func, addRuleAction: React.PropTypes.func, removeRuleAction: React.PropTypes.func, combinatorSelector: React.PropTypes.func, fieldSelector: React.PropTypes.func, operatorSelector: React.PropTypes.func, valueEditor: React.PropTypes.func, ignoreCaseCheckbox: React.PropTypes.func, }); ``` This is a custom controls object that allows you to override the control elements used. The following control overrides are supported: - `addGroupAction`: By default a `