update
This commit is contained in:
@@ -620,8 +620,8 @@ layui.define('layer', function(exports){
|
||||
});
|
||||
}
|
||||
};
|
||||
if (layui._typeof(type) === 'object') {
|
||||
// jquery对象
|
||||
if (layui.type(type) === 'object') {
|
||||
// jquery 对象
|
||||
type.each(function (index, item) {
|
||||
var elem = $(item);
|
||||
if (!elem.closest(ELEM).length) {
|
||||
@@ -650,13 +650,13 @@ layui.define('layer', function(exports){
|
||||
};
|
||||
|
||||
// verifyElem: 要验证的节点或者范围 返回:验证通过返回true,否则返回false
|
||||
Form.prototype.doVerify = function(verifyElem){
|
||||
Form.prototype.validate = function(verifyElem){
|
||||
var stop = null //验证不通过状态
|
||||
,verify = form.config.verify //验证规则
|
||||
,DANGER = 'layui-form-danger' //警示样式
|
||||
|
||||
if (layui.type(verifyElem) !== 'object') { // 不符合要求的格式直接判通过
|
||||
hint.error('doVerify: 参数错误');
|
||||
hint.error('validate: 参数错误');
|
||||
return true;
|
||||
}
|
||||
if (!verifyElem.attr('lay-verify')) {
|
||||
@@ -720,7 +720,7 @@ layui.define('layer', function(exports){
|
||||
} else { //移动设备定位
|
||||
$dom.scrollTop(function(){
|
||||
try {
|
||||
return (isForm2Elem ? othis.next() : othis).focus().offset().top - 15
|
||||
return (isForm2Elem ? othis.next() : othis).offset().top - 15
|
||||
} catch(e){
|
||||
return 0;
|
||||
}
|
||||
@@ -748,7 +748,7 @@ layui.define('layer', function(exports){
|
||||
,filter = button.attr('lay-filter'); //获取过滤器
|
||||
|
||||
//开始校验
|
||||
if(!form.doVerify(verifyElem)) return false;
|
||||
if(!form.validate(verifyElem)) return false;
|
||||
|
||||
//获取当前表单值
|
||||
field = form.getValue(null, elem);
|
||||
|
||||
@@ -263,7 +263,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form', 'util'], function(exports){
|
||||
};
|
||||
|
||||
//表格渲染
|
||||
Class.prototype.render = function(){
|
||||
Class.prototype.render = function(type){
|
||||
var that = this
|
||||
,options = that.config;
|
||||
|
||||
@@ -297,6 +297,11 @@ layui.define(['laytpl', 'laypage', 'layer', 'form', 'util'], function(exports){
|
||||
}
|
||||
|
||||
if(!options.elem[0]) return that;
|
||||
|
||||
// 仅重载数据
|
||||
if(type === 'reloadData'){
|
||||
return that.pullData(that.page); //请求数据
|
||||
}
|
||||
|
||||
//高度铺满:full-差距值
|
||||
if(options.height && /^full-\d+$/.test(options.height)){
|
||||
@@ -665,7 +670,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form', 'util'], function(exports){
|
||||
};
|
||||
|
||||
//表格重载
|
||||
Class.prototype.reload = function(options, deep){
|
||||
Class.prototype.reload = function(options, deep, type){
|
||||
var that = this;
|
||||
|
||||
options = options || {};
|
||||
@@ -680,7 +685,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form', 'util'], function(exports){
|
||||
that.config = $.extend(deep, {}, that.config, options);
|
||||
|
||||
//执行渲染
|
||||
that.render();
|
||||
that.render(type);
|
||||
};
|
||||
|
||||
//异常提示
|
||||
@@ -2086,61 +2091,35 @@ layui.define(['laytpl', 'laypage', 'layer', 'form', 'util'], function(exports){
|
||||
}
|
||||
};
|
||||
|
||||
//表格重载
|
||||
table.reload = function(id, options, deep){
|
||||
// 重载
|
||||
table.reload = function(id, options, deep, type){
|
||||
var config = getThisTableConfig(id); //获取当前实例配置项
|
||||
if(!config) return;
|
||||
|
||||
var that = thisTable.that[id];
|
||||
that.reload(options, deep);
|
||||
that.reload(options, deep, type);
|
||||
|
||||
return thisTable.call(that);
|
||||
};
|
||||
|
||||
//reloadData支持的的参数名单
|
||||
var dataParams = ['data', 'url', 'where', 'page', 'request', 'response', 'parseData', 'limit'];
|
||||
var dataParamsRegExp = new RegExp('^(' + dataParams.join('|') + ')$')
|
||||
//重载数据 options只允许跟数据请求相关的配置信息
|
||||
table.reloadData = function(id, options, deep){
|
||||
var config = getThisTableConfig(id); //获取当前实例配置项
|
||||
if (!config) return;
|
||||
// 仅重载数据
|
||||
table.reloadData = function(){
|
||||
var args = $.extend([], arguments);
|
||||
args[3] = 'reloadData';
|
||||
|
||||
var that = thisTable.that[id];
|
||||
options = options || {};
|
||||
|
||||
if (options.page !== undefined && !!options.page !== !!config.page) {
|
||||
// 如果是否分页发生了改变
|
||||
hint.error('reloadData不允许对是否分页进行切换(从不分页到分页的切换,反之亦然),如果需要请使用reload重载');
|
||||
delete options.page;
|
||||
}
|
||||
//过滤options只留下跟数据请求相关的参数
|
||||
layui.each(options, function (_key, _value) {
|
||||
if (!dataParamsRegExp.test(_key)) {
|
||||
delete options[_key];
|
||||
// 过滤与数据无关的参数
|
||||
var dataParams = [
|
||||
'data', 'url', 'where', 'page', 'limit',
|
||||
'request', 'response', 'parseData'
|
||||
];
|
||||
layui.each(args[1], function (key, value) {
|
||||
if(dataParams.indexOf(key) === -1){
|
||||
delete args[1][key];
|
||||
}
|
||||
});
|
||||
if (options.page !== undefined) { // 针对page组件的特殊处理
|
||||
if (typeof options.page === 'object') {
|
||||
options.page.curr && (that.page = options.page.curr);
|
||||
delete options.elem;
|
||||
delete options.jump;
|
||||
} else if (options.page) {
|
||||
options.page = {};
|
||||
}
|
||||
$.extend(true, that.config, {page: options.page});
|
||||
delete options.page;
|
||||
}
|
||||
|
||||
if (options.data && options.data.constructor === Array) delete that.config.data;
|
||||
deep ? $.extend(true, that.config, options) : $.extend(that.config, options);
|
||||
if (!that.config.page) {
|
||||
that.page = 1;
|
||||
}
|
||||
that.loading();
|
||||
that.pullData(that.page);
|
||||
return thisTable.call(that);
|
||||
}
|
||||
|
||||
return table.reload.apply(null, args);
|
||||
};
|
||||
|
||||
//核心入口
|
||||
table.render = function(options){
|
||||
|
||||
Reference in New Issue
Block a user