功能描述

在使用FastAdmin一键生成CRUD后,默认的生成的都是原生HTML的组件代码,会有许多不熟悉前端的小伙伴改动起来会比较费劲。其实在FastAdmin中有一个简单的FormBuilder,但是它只能生成一些简单的文本框或下拉框,像FastAdmin中常用的动态下拉框、城市选择框、联动框,它就没法实现了。从1.0.1.20180630_beta版本开始,我们可以使用全新的FormBuilder用于生成我们的组件了。

通用属性

$name 通常为我们组件的名称,我们在后台接收时可以通过这个名称来获取到它所对应的值
$value 通常为我们数据库中的值,在新增的时候通常为空,在修改的时候通常需要是数据库中对应字段的值
$options 组件的扩展属性,通常为一一键值匹配并最终渲染在组件的属性中,通常我们使用的有data-rule/disabled/readonly/multiple等等,也常用于自定义组件属性。

完整代码复制粘贴即可

<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action=""><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('文本框')}:</label><div class="col-xs-12 col-sm-8">{:Form::text('row[text]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('多行文本框')}:</label><div class="col-xs-12 col-sm-8">{:Form::textarea('row[textarea]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('富文本编辑器')}:</label><div class="col-xs-12 col-sm-8">{:Form::editor('row[editor]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('单选')}:</label><div class="col-xs-12 col-sm-8">{:Form::radios('row[radio]', ['aa'=>'AA', 'bb'=>'BB'], 'aa', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('复选')}:</label><div class="col-xs-12 col-sm-8">{:Form::checkboxs('row[checkbox]', ['aa'=>'AA', 'bb'=>'BB'], 'aa', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('下拉列表')}:</label><div class="col-xs-12 col-sm-8">{:Form::select('row[select]', ['aa'=>'AA', 'bb'=>'BB'], 'aa', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('下拉列表(多选)')}:</label><div class="col-xs-12 col-sm-8">{:Form::selects('row[select]', ['aa'=>'AA', 'bb'=>'BB'], 'aa', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('下拉列表(友好)')}:</label><div class="col-xs-12 col-sm-8">{:Form::selectpicker('row[selectpicker]', ['aa'=>'AA', 'bb'=>'BB'], 'aa', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('下拉列表(友好)(多选)')}:</label><div class="col-xs-12 col-sm-8">{:Form::selectpickers('row[selectpickers]', ['aa'=>'AA', 'bb'=>'BB'], 'aa', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('动态下拉列表')}:</label><div class="col-xs-12 col-sm-8">{:Form::selectpage('row[select]', 2, 'category/selectpage', null, null, ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('动态下拉列表(多选)')}:</label><div class="col-xs-12 col-sm-8">{:Form::selectpages('row[select]', 2, 'category/selectpage', null, null, ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('城市选择框')}:</label><div class="col-xs-12 col-sm-8">{:Form::citypicker('row[citypicker]', 2, ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('日期')}:</label><div class="col-xs-12 col-sm-8">{:Form::datepicker('row[datepicker]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('时间')}:</label><div class="col-xs-12 col-sm-8">{:Form::timepicker('row[timepicker]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('日期时间')}:</label><div class="col-xs-12 col-sm-8">{:Form::datetimepicker('row[timepicker]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('日期区间')}:</label><div class="col-xs-12 col-sm-8">{:Form::daterange('row[daterange]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('时间区间')}:</label><div class="col-xs-12 col-sm-8">{:Form::timerange('row[timerange]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('日期时间区间')}:</label><div class="col-xs-12 col-sm-8">{:Form::datetimerange('row[datetimerange]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('动态字段列表')}:</label><div class="col-xs-12 col-sm-8">{:Form::fieldlist('row[fieldlist]', ['aa'=>'AA', 'bb'=>'BB'], null, '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('单图')}:</label><div class="col-xs-12 col-sm-8">{:Form::image('row[image]', '/uploads/20180629/b83227ea668e7b2d61def9812bbce3da.png', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('多图')}:</label><div class="col-xs-12 col-sm-8">{:Form::images('row[images]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('单文件')}:</label><div class="col-xs-12 col-sm-8">{:Form::upload('row[upload]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('多文件')}:</label><div class="col-xs-12 col-sm-8">{:Form::uploads('row[uploads]', '', ['data-rule'=>'required'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('开关')}:</label><div class="col-xs-12 col-sm-8">{:Form::switcher('row[switcher1]', '0', ['color'=>'success'])}{:Form::switcher('row[switcher2]', '1', ['color'=>'yellow', 'disabled'=>true])}{:Form::switcher('row[switcher3]', 'Y', ['color'=>'navy', 'yes'=>'Y', 'no'=>'N'])}{:Form::switcher('row[switcher4]', '1', ['color'=>'info'])}{:Form::switcher('row[switcher4]', '1', ['color'=>'danger', 'disabled'])}</div></div><div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('联动选择')}:</label><div class="col-xs-12 col-sm-8">{:Form::cxselect('ajax/area', ['province','city'], ['province'=>37, 'city'=>38])}</div></div><div class="form-group layer-footer"><label class="control-label col-xs-12 col-sm-2"></label><div class="col-xs-12 col-sm-8"><button type="submit" class="btn btn-success btn-embossed disabled">{:__('Submit')}</button><button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button></div></div>
</form>

一张图解析FastAdmin中的FormBuilder表单生成器相关推荐

  1. button layui 点击事件_解决layui中的form表单与button的点击事件冲突问题

    解决layui中的form表单与button的点击事件冲突问题 layui的form表单位置和button标签的位置重合,会使得button的click事件得不到响应,如图: 蓝色底为form的位置, ...

  2. php表单完整代码,php中一个完整表单处理实现代码_PHP教程

    一个完整表单处理 下面我们将创建一个复杂的表单,代码如下所示. 复制代码 代码如下: 姓名: 密码: 年龄: 小于16 16-30 31-50 51-80 自我介绍: 请输入您的自我介绍 体育爱好: ...

  3. HTML中的form表单有一个关键属性 enctype

    HTML中的form表单有一个关键属性 enctype=application/x-www-form-urlencoded 或multipart/form-data. 1.enctype=" ...

  4. 项目开发中常用JS表单取值方法

    项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的)         1.form1.Te ...

  5. html表单居中_如何在IE低版本中兼容HTML5表单属性placeholder属性

    WEB开发数据提交是必不可少的,为了更友好的用户体验,通常需要给输入框一个默认的提示信息.HTML5技术提供了一个表单属性placeholder专门用于输入框默认提示,但是在IE低版本中根本不兼容. ...

  6. html语言 怎么清除用户名 name= password=,在html页面中填写注册表单后,它会给出这个错误,并使用用户名和密码并将值存储在登录表单中...

    在html页面中填写注册表单后,它会给出此错误,并使用用户名和密码并将值存储在登录表单中:TypeError at /login/ argument of type 'NoneType' is not ...

  7. Magento教程 13:在Magento中设定联络表单的收件信箱

    Magento系统有预设的联络表单功能,位置是在您网站的网址/contacts Magento教程 13:在Magento中设定联络表单的收件信箱 如画面所见,提供简单的栏位让顾客可以透过表单寄送电子 ...

  8. react hooks使用_我如何使用React Hooks在约100行代码中构建异步表单验证库

    react hooks使用 by Austin Malerba 奥斯汀·马勒巴(Austin Malerba) 我如何使用React Hooks在约100行代码中构建异步表单验证库 (How I bu ...

  9. antd-vue中的form表单label标签for导致点击文字触发输入框解决方案

    antd-vue中的form表单label标签for导致点击文字触发输入框解决方案 参考文章: (1)antd-vue中的form表单label标签for导致点击文字触发输入框解决方案 (2)http ...

最新文章

  1. Java 读写Properties配置文件
  2. 面试题:如何设计一个高并发系统?
  3. golang获取结构体中的tag_26. Go 语言中结构体的 Tag 用法
  4. 【转】Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)
  5. CSS 块格式化上下文 BFC
  6. 耗时一周,我用Python爬取全国各地大学校花(高清照片和个人信息)
  7. linux下删除服务
  8. 科技部领衔发布中国新一代AI发展报告:中美成全球AI网络核心节点
  9. ps怎么撤销参考线_干货技巧 | Photoshop10大奇技淫巧(肯定有你不知道的!)
  10. 三种交换方式:电路交换、分组交换、报文交换
  11. 判断数字正数为红色负数为绿色
  12. 量子物理史话 第四章 白云深处
  13. Riverbed连续第四年成为Gartner魔力象限领导者
  14. Pygame(三)画圆
  15. grub引导项修复详解_grub2修复引导 · LINCHUAN的小站
  16. ubuntu20下使用微信开发者工具
  17. 【Axure交互教程】滑块控制图片放大缩小效果
  18. springmvc笔记回顾——持续更新
  19. Python-列表切片list[-1]、list[-1:]、list[:-1]、list[::1]、list[::-1]的区别
  20. 职场撕逼中如何保护自己

热门文章

  1. 三月c++面经(英特尔、旷世、云从、地平线,具体回答后续补)
  2. 用JS代码自动填写正方教务系统的教学评价
  3. Cocos2d的ChipMunk
  4. linux - 异常:安装包冲突 conflicts with
  5. php5.3不能连接mssql数据库的解决方法
  6. 安全帽识别系统的应用
  7. 7-1 用格里高利公式求给定精度的PI值 (15分)
  8. idea部署RuoYi-Vue分离版详解,够细!你值得拥有
  9. 记canvas画笔笔迹的多次优化过程
  10. 如何在 Facebook 上实现高效社交营销