🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
该插件为表单操作封装,使用方式如下: ``` //以element-ui为例 <template> //如当前页是通过toCreate/toEdit/toDetail方式进入的,则不需要el-dialog!! <el-dialog :visible.sync="visible" title="我是弹框标题"> <el-form :ref="validRef" :modal="formData" :rules="rules"> <el-form-item label="姓名" prop="name"> <el-input v-model="formData.name" :disabled="readonly" placeholder="请输入姓名"/> </el-form-item> ... </el-form> </el-dialog> </template> <script> import JBoot from 'jboot-env'; //引入框架 import 'jboot-env/dist/loading.css'; //引入loading样式 export default JBoot.form({ data (){ return { moduleName: 'test', rules: { ... } } } }) </script> <style lang="scss"> ... </style> ``` **内置属性:** | 名称 | 类型 | 默认值 | 必须主动声明| 描述| | --- | --- | --- | --- |--- | |visible|boolean|false|否|用于标识dialog是否是可见状态| |queryMethod|string|getInfo|否|查询数据时,要调用moduleName对应api中的哪一个方法。| |submitMethod|string|saveInfo|否|提交数据时,要调用moduleName对应api中的哪一个方法。| |formData|object|{}|否|表单数据绑定的对象。| |submitting|boolean|false|否|用于标识是否正在提交数据中。| |formPageType|string|undefined|否|框架内部自动赋值,page代表当前页面类型是新页面,dialog代表当前页面类型是弹框。| |operateType|string|new|否|用于标识当前页面的操作类型,值为:new(新增)、edit(编辑)、detail(详情)。| |parentParam|键值对|{}|否|列表页传递进入当前页的参数,都被封装在这个对象中| |readonly|boolean|false|否|用于标识当前页面是否可以进行操作,**通过XXXCreate/XXEdit方式进入的,则该值为false,通过XXXDetail方式进入的,则该值为true。** 可用该值绑定组件的disabled属性,来进行区分组件是否可被编辑。| |validRef|string|validRef|否|该属性可绑定至表单上,框架会自动通过该属性拿到表单,来进行校验。| |triggerRefresh|boolean|true|否|提交完成后是否触发父页面刷新。| |initQuery|boolean|false|否|如果该值为true,则立马执行页面的查询逻辑。| |submitSuccessTipVisible|boolean|true|否|如果该值为true,则提交成功后会弹出提示,false则不提示。| |validFailShowTip|boolean|true|否|如果该值为true,则提交前进行表单验证时,如果表单验证不通过,则会进行弹出提示,避免用户未发现表单必填项未填写完毕的问题。false则不提示。| |validMethod|string|validate|否|调用form的什么方法进行表单验证。**3.1.3719起,新增!!!**| **内置计算属性:** | 名称 | 类型 | 默认值 | 必须主动声明| 描述| | --- | --- | --- | --- |--- | |dynamicSubmitMethod|string| 返回submitMethod属性。 |否|使用该计算属性,可根据依赖值动态的改变请求调用的方法。| **内置方法:**(编写顺序按照执行顺序排列) | 名称 | 参数| 返回值|描述| | --- | --- | --- | --- | |getDefFormData|无|需要赋值给formData的默认数据。|用来给formData设置默认值。**3.1.3705起,支持返回Promise!!**| |close|无|无|用来关闭当前页面的函数,只有在通过showXXX的形式进入的页面生效。| |closeAfterHandler|无|无|在close执行完毕后会调用的方法。用于页面关闭以后的一些处理。| |triggerParentRefresh(isCloseWindow)|isCloseWindow,boolean类型,是否关闭当前窗口,默认为true。**true时内部自动调用了close方法。**|无|在close执行完毕后会调用的方法。用于使用__open或showXXX方式打开的弹框页面,触发父页面(list或page)的刷新。| |resetFormValid|无|无|用于重置form的表单验证,将会获取所有ref绑定为validRef的form,执行form的resetFields函数来重置表单验证。| |submitHandler(isClose)|isClose:boolean类型,默认为true。该属性代表提交操作完毕后,是否自动关闭页面。|无|用来提交表单数据的函数。**内部调用moduleName对应api文件中的submitMethod方法进行提交请求。**| |getSubmitData|无|要提交的数据|获取要提交的数据,默认返回this.formData。**注意:如需操作,建议使用Object.assign({}, this.formData, {xxx:xxx});的形式来操作,避免直接修改this.formData!**| |validFormData(submitData)|submitData:上一步骤处理返回的提交数据。|boolean / Promise|用来校验要提交的数据是否满足要求,默认获取validRef绑定的form来进行规则校验,被校验的form支持validate函数即可。**返回true / Promise.resolve()则代表校验通过,反之则校验失败,不继续提交操作!**| |isExecuteSubmit(submitData)|submitData:意义同上|boolean / Promise|用来处理是否执行提交操作,**返回true / Promise.resolve()则代表校继续执行,反之则不继续提交操作!**| |beforeSubmitHandler|无|无|发送提交请求之前的hook。| |submitSuccessHandler(responseInfo)|responseInfo:接口提交成功后返回的响应体。|无|提交成功之后的hook。| |submitErrorHandler(error)|error:接口提交失败后的异常结构体。|无|接口提交异常的hook。| |afterSubmitHandler|无|无|无论接口提交是否成功,结束后都会执行的hook。|