Skip to content

自定义表单组件

功能介绍

在装修自定义表单时,可以使用表单组件,也可以使用自定义组件,两者都可以搭配使用

框架定义的表单组件

系统框架已经定义好了一些基础的通用组件(不包含业务),若无业务需求,开发者可以正常使用,无需重复开发

文件位置:niucloud-core/src/main/resources/core/loader/diy_form/component.json

前端定义表单组件的编辑属性组件

框架定义的自定义表单组件目录为:admin/src/app/views/diy_form/components

uni-app 手机端渲染自定义表单组件

框架定义的自定义组件目录为:uni-app/src/app/components/diy(与自定义组件都在一个目录下)

开发自定义表单组件步骤

若框架定义的表单组件无法满足需求,可以自行开发表单组件

新建 component.json 文件

文件位置:niucloud-addon/shop/src/main/resources/shop/loader/poster/component.json

关键代码

json
{
  "CSSHOP_FORM_COMPONENT": {     // 组件分类关键字key,建议大写
    "title": "商城表单组件",    // 组件分类名称
    "support": [],
    "list": {    // 组件列表
      "FormSubmit": {   // 组件关键字key
        "title": "商城表单提交",    // 组件名称
        "icon": "iconfont icona-biaodantijiaopc30", // 组件图标
        "path": "edit-form-submit", // 组编辑组件属性名称
        "uses": 1,  // 最大添加数量,0为不限制
        "support": [],
        "sort": 10001,  // 排序号,从小到大
        "position": "bottom_fixed",  // 组件置顶标识,不能拖拽,可选值:fixed、top_fixed、right_fixed、bottom_fixed、left_fixed
        "template": {   // 组件属性
          "textColor": "#303133",    // 组件字体颜色
          "pageStartBgColor": "",    // 组件背景颜色
          "pageEndBgColor": "",    // 组件背景颜色
          "pageGradientAngle": "to bottom",  // 组件背景渐变角度
          "componentBgUrl": "",  // 组件背景图片
          "componentBgAlpha": 2,  // 组件背景图片透明度
          "componentStartBgColor": "",  // 组件背景颜色
          "componentEndBgColor": "",  // 组件背景颜色
          "componentGradientAngle": "to bottom",  // 组件背景渐变角度
          "topRounded": 0,  // 组件顶部圆角
          "bottomRounded": 0,  // 组件底部圆角
          "elementBgColor": "",  // 组件元素背景颜色
          "topElementRounded": 50,  // 组件元素顶部圆角
          "bottomElementRounded": 50,  // 组件元素底部圆角  
          "margin": {
            "top": 8,    // 组件顶部外边距
            "bottom": 0,  // 组件底部外边距
            "both": 10    // 组件左右外边距
          }
        },
        "value": {
          "btnPosition": "follow_content",
          "submitBtn": {
            "text": "提交",
            "color": "#ffffff",
            "bgColor": "#409EFF"
          },
          "resetBtn": {
            "control": true,
            "text": "重置",
            "color": "",
            "bgColor": ""
          }
        },
        "componentType": "diy_form"
      }
    }
  }
}

前端定义编辑属性组件

代码位置:admin/src/addon/shop/views/diy_form/components

根据 component.json 定义的 path 路径,需要在前端定义编辑属性组件

edit 编辑属性组件

框架封装好了表单组件公共设置和样式

组件忽略属性

每个组件可以根据自身业务情况,设置忽略组件样式,防止出现不可控效果 关键代码,为空时表示不忽略

目前可忽略的属性如下:

属性名说明
pageBgColor底部背景颜色
componentBgUrl组件背景图
componentBgColor组件背景颜色
marginTop上边距
marginBottom下边距
marginBoth左右边距
topRounded上圆角
bottomRounded下圆角

uni-app手机端定义渲染组件

目录位置:uni-app/src/addon/shop/components/diy

根据 component.json 定义的组件关键字 key,需要在 uni-app 手机端定义渲染组件

例如:组件关键字 key 为 FormSubmit。渲染组件名称就是:form-submit,将驼峰命名改成横杠 - 分割即可。注意:组件文件名称是小写

基于 MIT 协议发布