跳到主要内容

表字典规则说明

JDictSelectTag 、JSearchSelect 和 JTreeSelect 支持配置表字典,直接通过表获取数据。

表字典示例

JDictSelectTag字典示例

从数据库表获取字典数据,dictCode格式说明: 表名,文本字段,取值字段

<JDictSelectTag v-model="username" placeholder="请选择用户" dictCode="sys_user,realname,id"/>

JSearchSelect字典示例

  {
field: 'code',
label: '用户名',
component: 'JSearchSelect',
colProps: { span: 6 },
componentProps: {
dict: 'demo where parent_id is null,name,code',
},
},

JTreeSelect字典示例

<JTreeSelect placeholder="请选择分类" v-model:value="formState.zdys"
dict="sys_category,name,id" pidValue="0"/>

表字典配置规则

因为表字典太灵活,存在被攻击的风险,所以从v_3.5.4版本起,不支持复杂sql

1、查询字段要求

查询字段只能写数据库对应的字段名不允许使用函数,比如:concat、DATE_FORMAT等函数

查询字段不允许使用别名,比如: a.name,b.age

2、查询表名要求

表名也不允许使用别名,比如: sys_user a

3、条件要求

一、查询条件中的字段与查询字段要求一致。

二、在条件SQL中,只允许使用以下匹配规则符号:

下面没有的就是不支持,比如:BETWEEN、EXISTS、NOT EXISTS等

1. 等于:=
2. 不等于:!=<>
3. 大于:>
4. 小于:<
5. 大于等于:>=
6. 小于等于:<=
7. 模糊匹配:LIKE
8. IN:匹配多个值
9. NOT IN:不匹配多个值
10. IS NULL:为空
11. IS NOT NULL:不为空