layui多张图片上传最多9张(新增和修改时的显示问题)

layui多张图片上传最多9张(新增和修改时的显示问题)

 

html:

<div class="layui-upload">
<button v-show="imgList.length<9 || imgList.length == null" type="button" class="layui-btn" id="test2">多图片上传</button> //如果图片数组大于9张,则不显示button. 此处v-show不可以改为v-if,否则再次显示时,button没有触发事件
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;width: 545px;height: 232px;">
<div class="layui-upload-list" id="demo2" >
<span v-for="option,index in imgList" :id=index> //遍历数组 ,span的id为数组的索引,方便下面的删除
<img :src=option class="layui-upload-img" border="1px" style="width: 90px;height: 90px;padding: 1px"/> //显示遍历的图片
<span v-on:click="deleteConfirmationImg(index)" > //删除图片,将数组的索引传过去
<img src="../../public/image/del.png" style="width:20px!important;height:20px!important; margin:-50px 10px 18px -30px">
</span>
</span>
</div>
</blockquote>
</div>


js:
layui.use('upload', function() {
var $ = layui.jquery
, upload = layui.upload;

//多图片上传
upload.render({
elem: '#test2'
,url: getWebPath() + 'api/fileUploads'
,multiple: true
// ,before: function(obj){
// //预读本地文件示例,不支持ie8
// obj.preview(function(index, file, result){
// });
// }
,done: function(res){
if(parseInt(vm.imgList.length) < 9){
vm.imgList.push(res.object[0]); //少于9张图片,将上传图片加入数组
}
}
});
});

function deleteConfirmationImg(index) {
vm.imgList.splice(index,1); //删除图片数组中的图片
}


效果图:

 

 
posted @ 2018-07-20 14:33 wangbiubiu 阅读( ...) 评论( ...) 编辑 收藏
layUI表格的新增修改功能可以通过弹出层来实现。具体步骤如下: 1. 在layUI表格中添加操作列,包含“编辑”和“删除”按钮等; 2. 给“编辑”按钮绑定事件,点击后弹出一个弹出层,用于填写数据; 3. 在弹出层中添加表单,包含需要填写的数据项; 4. 给表单中的“确定”按钮绑定事件,点击后将数据提交到后台并更新表格数据; 5. 给“删除”按钮绑定事件,点击后弹出确认框,确认后将数据删除并更新表格数据。 示例代码如下: HTML代码: ```html <table class="layui-table" lay-data="{url:'/api/data', page:true, limit:10}" lay-filter="demo"> <thead> <tr> <th lay-data="{field:'id', width:80}">ID</th> <th lay-data="{field:'name', width:120}">名称</th> <th lay-data="{field:'type', width:80}">类型</th> <th lay-data="{field:'remark', width:200}">备注</th> <th lay-data="{field:'operate', toolbar:'#operateTpl', width:150}">操作</th> </tr> </thead> </table> <!--操作列模板--> <script type="text/html" id="operateTpl"> <button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button> <button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</button> </script> <!--弹窗模板--> <div id="formTpl" style="display:none;"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">名称</label> <div class="layui-input-block"> <input type="text" name="name" lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">类型</label> <div class="layui-input-block"> <input type="text" name="type" lay-verify="required" placeholder="请输入类型" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item layui-form-text"> <label class="layui-form-label">备注</label> <div class="layui-input-block"> <textarea name="remark" placeholder="请输入备注" class="layui-textarea"></textarea> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="submitForm">确定</button> </div> </div> </form> </div> ``` JavaScript代码: ```javascript //执行渲染 layui.use(['table', 'layer', 'form'], function(){ var table = layui.table, layer = layui.layer, form = layui.form; //监听表格操作列按钮点击事件 table.on('tool(demo)', function(obj){ var data = obj.data; if(obj.event === 'edit'){ //编辑 //弹出编辑弹窗 var index = layer.open({ type: 1, title: '编辑', area: ['500px', '400px'], content: $('#formTpl').html(), success: function(layero, index){ //填充弹窗表单数据 form.val('form', data); } }); //监听弹窗表单提交事件 form.on('submit(submitForm)', function(formData){ //提交表单数据到后台 $.ajax({ url: '/api/update', type: 'POST', data: formData.field, success: function(){ layer.close(index); table.reload('demo'); } }); return false; }); } else if(obj.event === 'delete'){ //删除 layer.confirm('确认删除该数据吗?', function(index){ //提交删除请求到后台 $.ajax({ url: '/api/delete', type: 'POST', data: {id: data.id}, success: function(){ layer.close(index); table.reload('demo'); } }); }); } }); }); ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值