首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >低代码系列之代码生成器模型配置--fields

低代码系列之代码生成器模型配置--fields

作者头像
切图仔
发布于 2022-09-08 18:46:29
发布于 2022-09-08 18:46:29
1.4K0
举报
文章被收录于专栏:生如夏花绚烂生如夏花绚烂

fields是代码生成器最核心的一个属性,它决定了数据表的字段和字段对应的表单属性 fields是一个对象类型,该对象里面的属性就是模型的字段

如

代码语言:javascript
复制
 fields: {
        couponName: { },
        startTime: {  },
}

当运行生成器时会在模型对应的数据表创建 couponName、startTime字段

字段的配置

上例可以看到 fields里面的属性是对象类型,该对象描述了 数据表字段属性以及表单属性等。

字段的属性配置

属性名称

必填

类型

属性解释

备注

type

是

string

字段的类型

MySQL数据库取值仅限于:’string’, ‘text’, ‘integer’, ‘tinyint’, ‘float’, ‘double’, ‘date’, ‘enum’ 。MongoDB 数据库仅限于:’string’, ‘number’, ‘date’,’boolean’, ‘array’

comment

是

string

字段的中文含义

将用于表格表头字段展示和表单项展示

tableHidden

否

boolean

字段是否不在表格中显示

值取true表示该字段不会在管理界面的基础表格中展示

meta

否

object

字段的界面属性(表单/表格)

当没指定该属性时默认取 { formType: 'input', inputType: 'text'}

字段属性之meta

meta是字段的表单/表格属性,它决定了字段在表单/表格中如何呈现

属性名称

必填

类型

属性解释

备注

formType

是

string

表单类型

以element-ui为例,常用取值:input,inputNumber ,switch,date ,time,rate,image,select,richText

inputType

否

string

原生表单类型

该属性只有在formType为input时有用

placeholder

否

string

表单提示内容

chineseMap

否

object

字段外键映射

activeValue

否

[string,number]

开关激活的值

该属性只有在formType为switch 时有用,默认值:1 (number类型)

activeText

否

string

开关激活时显示的文字

该属性只有在formType为switch 时有用

inactiveValue

否

[string,number]

开关关闭的值

该属性只有在formType为switch 时有用,默认值:0(number类型)

inactiveText

否

string

开关关闭时显示的文字

该属性只有在formType为switch 时有用

uploadUrl

否

string

文件上传的地址

该属性只有在formType为image 时有用,默认值:系统自带的文件上传服务(node编写)

meta.formType

他们的映射类型如下: input=>el-input inputNumber=>el-input-number switch=>el-switch 取该值时字段在表格会渲染成el-tag,el-tag的呈现取决于 activeValue,inactiveValue等。 date=>el-date-picker 取该值时字段在表格中时间会自动格式化 time=>el-time-select rate=>el-rate image=>el-upload 目前支持单图上传 取该值时字段在表格中会直接渲染成图片 richText=>quill-editor 富文本类型使用系统自带的quill-editor

meta.inputType 指定元素表单属性,该属性只有在formType为input时有用 meta.placeholder 表单提示内容 meta.chineseMap 字段对应的中文映射,在表单,表格渲染时都有用到

比如文章表有个字段category_id(分类),我们假定这个分类值只有 前端,后端 两种 对于这种固定的类型且值不是很多时我们可以将chineseMap写死 那么你应该这样配置

代码语言:javascript
复制
 fields: {
        category_id: {
           comment: '分类',
            meta: {
                formType: 'select',
                placeholder: '请选择文章分类',
                chineseMap: {
                  1:"前端",
                  2:"后端"
                }
            }
          
        }
}

但有些时候我们的分类项比较多是要纳入管理的,也就是要单独建表 这个时候你应该先创建分类模型,配置相关属性

然后在文章模型设置外键属性,外键属性foreign与fields同级

外键并没有在本节,这里只做简单介绍

1.设置外键属性

代码语言:javascript
复制
foreign: {
       // key 表示外键名称
        article_category: {
            key: 'category_id', // 当前模型的外键字段
            refer: 'id', // 关联表的字段 // 用作表单,表格的取值
            referLabel: 'userName', // 关联表用于展示的字段,主要用于 table,form的展示
            onTable: 'user', // 关联的模型
            foreignDesc: '外键描述'
        },
}

2.配置字段属性

代码语言:javascript
复制
 fields: {
        category_id: {
           comment: '分类',
            meta: {
                formType: 'select',
                placeholder: '请选择文章分类',
                chineseMap:{
                        useForeign: 'article_category' // 这里的值去的foreign的属性即外键名称
                      }
                }
            }
          
        }
}

这两种配置都会实现字段值的中文映射,比如 category_id原生值是1,那么在表格展示是会直接渲染成前端,同时表单添加时也会提供映射值选择,编辑同理

meta.activeValue 开关激活的值(表单/表格) 该属性只有在formType为switch 时有用,默认值:1 (number类型) meta.activeText 开关激活时显示的文字(表单/表格) 该属性只有在formType为switch 时有用 meta.inactiveValue 开关关闭的值(表单/表格) 该属性只有在formType为switch 时有用,默认值:0(number类型) meta.inactiveText 开关关闭时显示的文字(表单/表格) 该属性只有在formType为switch 时有用 meta.uploadUrl 文件上传的地址 该属性只有在formType为image 时有用,默认值:系统自带的文件上传服务(node编写)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 字段的配置
    • 字段的属性配置
      • 字段属性之meta
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档