# layui-update **Repository Path**: forrever/layui-update ## Basic Information - **Project Name**: layui-update - **Description**: layui-update - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2018-12-04 - **Last Updated**: 2024-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # layui-update #### 项目介绍 ##### 基于layui的实战优化,无侵入优化 ###### [1. 表单元素优化](https://bable2000.gitee.io/layui-update/view-demo/imit-form.html) 1. 表单元素不用包裹在layui-form中 2. 动态添加表单元素不用form.render()渲染 3. 时间控件无JS设置,min max动态设置,开始结束时间分开输入 4. 添加input select date radio checkbox失焦校验 5. [独立form表单的校验(不必要触发提交,也不需要设置过滤器)](https://bable2000.gitee.io/layui-update/view-demo/verify-form.html) 6. 追加下拉按钮组、搜索选择框(自由型) 7. 追加表单组按钮组 ###### 2. [简化固定表格](https://bable2000.gitee.io/layui-update/view-demo/fixed-table.html)(表头固定、第一列固定、最后一列固定、表尾固定) ###### 3. [数据表格](https://bable2000.gitee.io/layui-update/view-demo/data-table.html) 1. 表头固定、第一列固定、最后一列固定、表尾固定,但表单结构一点不发生变化 2. 自定义表单模板(可以自己修改) 3. 分页与表格独立开(便于数据请求后展示前的处理) 4. 因为自定义表单模板,所以允许checkbox的默认checked/disabled 5. 添加了表尾手动‘合计’的功能 [数据表格.png](http://oyh4crb8q.bkt.clouddn.com/data-table.png) ###### 4. [修改laytpl模板写法成vue模式](https://bable2000.gitee.io/layui-update/view-demo/laytpl.html),laytpl复杂模板太难写了 ###### 5. 优化layer(根据项目需求) 1. [添加layer的异步请求](https://bable2000.gitee.io/layui-update/view-demo/layer-open.html),减少ajax->layer的嵌套 ``` layer.open({ type: 1, async: true, //异步请求,content为请求地址 content: '../template/xx.tpl', data: { /*静态tpl文件搭配动态数据,生成动态提示框.*/ /*(好处:不用后端生成动态文件,不用前端拼接字符串,不用一次性把当前页面可能涉及的弹窗内容全部都提前加载完)*/ v1: '李先生,你好!', v2: '没有开通权限/已开通权限' }, btn: ['按钮一', '按钮二', '按钮三'], success: function(layero, index) { console.log(layero, index); } }) ``` 2. [添加iframe弹窗的打开位置与溯原性](https://bable2000.gitee.io/layui-update/) ``` var open1 = function() { layer.open({ type: 2, goal: top, //顶层窗口top,父级窗口parent,父级的父级窗口parent.parent content: './view-demo/iframe-source-2.html', area: ['50%', '50%'], success: function() { console.log('加载完') } }) }; parent.layer.close(layerIndex) //当前窗口信息 layerSource.parent.layer.close(layerSource.layerIndex) //关闭打开当前窗口的窗口 console.log('iframe弹窗发起方 layerSource:', layerSource.document); console.log('iframe弹窗layer索引值 layerIndex:', layerIndex) ``` ###### 6. [数据变化监控](https://bable2000.gitee.io/layui-update/view-demo/watchData.html) , [指定节点变化监控](https://bable2000.gitee.io/layui-update/view-demo/watchDom.html) ```
``` ###### 7. [文件上传预览,上传进程条* 及各种前后端错误处理,文件全屏预览,旋转](https://bable2000.gitee.io/layui-update/view-demo/upload.html) [文件上传.png](http://oyh4crb8q.bkt.clouddn.com/file-1.png) [文件全屏预览.png](http://oyh4crb8q.bkt.clouddn.com/file-2.png) 1. reader.readAsDataURL(file)->window.URL.createObjectURL(file) =>异步文件预览改为 同步(浏览器支持性相同) \* [引用Stream的代码,再'优化'](https://fly.layui.com/jie/31616/) ###### 8. 外部文件递归引用 ```