ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## maker 组件生成器 ### 该文档不再维护,新版文档地址: [form-create 文档](http://fc.gd8.top) **注意!Rule生成规则的配置项名称与组件生成器的配置方法名称相同,配置参数也相同** #### 内置**组件配置项说明** 1. **props\(Object\)** 组件配置 2. **event\(Object\)** 组件事件配置 3. **slot\(Object\)** 部分组件填充内容配置 4. **validate\(Array\)** 组件验证规则配置 5. **options\(Array\)** 部分组件选择项配置 6. **emit\(Array\)** 组件模式下配置使用emit方式触发的事件 7. **col\(Object\)** 组件布局配置 #### 自定义组件额外支持一下配置项 1. **children\(Array\)** 组件元素生成规则 2. **scopedSlots\(Object\)** 3. **nativeOn\(Object\)** 4. **on\(Object\)** 5. **domProps\(Object\)** 6. **props\(Object\)** 7. **attrs\(Object\)** 8. **style\(Object\)** 9. **class\(Object\)** 10. **directives\(Array\)** #### template 模板组件支持配置 1. **col\(Object\)** **[以上配置项说明](https://cn.vuejs.org/v2/guide/render-function.html#%E6%B7%B1%E5%85%A5-data-%E5%AF%B9%E8%B1%A1l)** #### 使用maker生成器生成组件 > `$formCreate.maker`**指的是 vue内部的**`this.$formCreate.maker`**或者**`window.formCreate.maker` **自定义组件** ```js $formCreate.maker.create(componentName) //component为生成组件的名称 //示例: maker.create('i-button').props({ type:"primary", size:"large", }).on({ "click":()=>{console.log(1);}, }).col({span:8,labelWidth:1}).children([ maker.create('span').domProps({ innerHTML:'测试按钮' }) ]), ``` **template 模板组件** ```js $formCreate.maker.createTmp(template,vm) //示例 maker.createTmp('<i-button @click="onClick" long>字符串测试{{test}}-{{num}}</i-button>',new Vue({ data:{ test:'createTmp渲染', num:0 }, methods:{ onClick:function(){ this.num++; } } })).col({labelWidth:1}) ``` **hidden** 隐藏字段 ```js $formCreate.maker.hidden(field,value) ``` **input** 输入框 ```js $formCreate.maker.input(title,field,value) ``` **radio** 单选框 ```js $formCreate.maker.radio(title,field,value) ``` **checkbox** 多选框 ```js $formCreate.maker.checkbox(title,field,value) //value为array类型 ``` **select** select选择器 ```js $formCreate.maker.select(title,field,value) //多选是value为array类型 ``` **switch** 开关 ```js $formCreate.maker.switch(title,field,value) ``` **datepicker** 日期选择器 ```js $formCreate.maker.date(title,field,value) //type为daterange或datetimerange时 value为array类型 //OR $formCreate.maker.datepicker(title,field,value) ``` **timepicker** 时间选择器 ```js $formCreate.maker.time(title,field,value) //type为timerange时 value为array类型 //OR $formCreate.maker.timepicker(title,field,value) ``` **inputnumber** 数字输入框 ```js $formCreate.maker.number(title,field,value) //OR $formCreate.maker.inputnumber(title,field,value) ``` **colorpicker** 颜色选择器 ```js $formCreate.maker.color(title,field,value) //OR $formCreate.maker.colorpicker(title,field,value) ``` **cascader** 多级联动 ```js $formCreate.maker.cascader(title,field,value) //value为array类型 ``` **upload** 上传 ```js $formCreate.maker.upload(title,field,value) ``` **rate** 评分 ```js $formCreate.maker.rate(title,field,value) ``` **slider** 滑块 ```js $formCreate.maker.slider(title,field,value) //props range为true时 value为array类型 ``` **frame** 框架 ```js $formCreate.maker.frame(title,field,value) ``` **tree** 树形 ```js $formCreate.maker.tree(title,field,value) ```