zl程序教程

您现在的位置是:首页 >  前端

当前栏目

easyUI的同一dialog载入多次的情况解决

EasyUI 解决 情况 Dialog 多次 同一 载入
2023-09-27 14:25:13 时间

今天在刷新tab页时发现当中的dialog内容每次都不变,仅仅有刷新整张页面之后才会变。

刚開始以为是缓存。由于正好页面用到了velocity的#parse,还以为velocity会把#parse的页面缓存起来

于是看了一下response。返回的页面确实是改过的,那就不是缓存问题。

查看了一下页面的元素。发现竟然有两个id同样的dialog。就是这个原因!

为什么呢?

由于easyUI在解析dialog的时候。不论dialog定义在哪里,都会被放到body下

而在刷新tab的时候,仅仅刷新某一个tab panel下的全部元素,所以刷新的时候又解析了一次dialog,于是我们就看到多个dialog了。

那么该怎样解决问题呢?

1、将dialog放到主界面中。而不是通过tab来载入

2、刷新的tab的时候去销毁掉之前的dialog

这里我用了另外一种方法,大家看看吧

onBeforeLoad:function(param){
	if(title == '測试'){
		if($('#repairsPaper')[0]){
			$('#repairsPaper').dialog('destroy', true);
		}						
	}
}