因为框架自身问题;obj.update();不支持;顾只能重新渲染;
表单页面是后台直接返给的;代码中运用了java的字典;变量;等一些列JSP;
我这里的主要问题是;后台需要分开的时间范围;startDate 和 endDate;前台用了一体式时间插件;导致前台需要.split();拆分传给后台;这里前台在渲染数据表格的时候又用到了模板引擎,templet: '<span>{ { d.employStartDate }} 至 { { d.employEndDate }}</span>';所以obj.update();失效;只能使用table.reload({});重渲;就是表格表单传值重渲等一系列解决方案;
obj.update();解决办法:
form.on('submit(layerSubmit)', function(data) {
var FormData = data.field;
FormData.employStartDate = FormData.workDate.split(' 至 ')[0];
FormData.employEndDate = FormData.workDate.split(' 至 ')[1];
FormData.index=obj.data.index;
table.cache.workList[obj.data.index]=FormData //获取当前
workList.reload({
data : table.cache.workList,// 设定异步数据接口的额外参数,任意设
}); //只重载数据
layer.close(index)
return false;
});
效果图:
大致页面部分HTML(JSP);
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<!-- formSelects样式 -->
<link href="${ctxStatic}/layui/css/formSelects-v4.css" rel="stylesheet" type="text/css">
<form class="layui-form" style="padding:20px;height: 580px; overflow: auto;">
<input type="hidden" id="id" name="id" value="${staff.id}">
<input type="hidden" id="userId" name="userId" value="${staff.userId}">
<div class="layui-collapse">
<div class="layui-colla-item">
<h2 class="layui-colla-title">基本信息</h2>
<div class="layui-colla-content layui-form-item layui-show">
<div class="layui-colla-item">
<h2 class="layui-colla-title">工作经历</h2>
<div class="layui-colla-content layui-form-item layui-show">
<!--表单内表格 -->
<table class="layui-table" id="workList" lay-filter="workList">
</table>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<div class="layui-input-block">
<button id="layer-submit" class="layui-btn" lay-submit lay-filter="submit">提交</button>
</div>
</div>
</form>
<!-- 表格工具栏 -->
<script ty