zoukankan      html  css  js  c++  java
  • Ext JS 二级弹框问题

    二级弹框示例代码demo

    doSecondWin:function(){
    	var xxxSecondWindow=this.lookupReference('xxxSecondWindow');
    	if (!xxxSecondWindow) {
    		xxxSecondWindow=Ext.create('*.*.xxxSecondWindow', {
    			reference: 'xxxSecondWindow',
    			param1: '传参',
    			title: '弹框2显示名称',
    		});
    		this.getView().add(xxxSecondWindow);
    		// 方案二处理方式一添加代码位置
    	}
    	// 方案二处理方式二调整代码位置
    	xxxSecondWindow.show();
    }
    

    1.最佳方案:通过一级弹框的toolbar按钮的handler对应的方法进行触发

    tbar : Ext.create('Ext.toolbar.Toolbar', {
    	cls: 'tbar_class',
    	items: [{
    		bind: {
    			text: '{insert}'
    		},
    		xtype: 'button',
    		iconCls: 'iconfont icon-system_add1',
    		handler: 'doSecondWin'
    	}]
    }),
    

    2.方案二:通过二级弹框的列表的超链接

    columns:[{...,render:function(){
    	return '<div onclick="viewport.XXXController.doSecondWin()">超链接</div>';
    }}]
    

    方案二存在问题:二级弹框显示在一级弹框下面 #F44336
    2.1.问题处理方式一:获取二级弹框中form中的输入框元素,延时进行聚焦,会让二级弹框刷新到上面

    var secondForm=this.lookupReference('xxxSecondForm').getForm();
    setTimeout(function () {
    	secondForm.findField('inputElement').focus();
    }, 50);
    

    2.2.问题处理方式二:二级弹框调用show()方法时进行传参,可以根据传参元素进行弹出二级弹框的特效显示

    var firstWindowButton=me.lookupReference('xxxFirstWindow').down("button[handler='doSecondWin']");
    xxxSecondWindow.show(firstWindowButton);
    

    终极最佳方案:

    var zi = new Ext.ZIndexManager();
    zi.register(alertWin);
    zi.bringToFront(alertWin, true);
    
  • 相关阅读:
    二分练习题4 查找最接近的元素 题解
    二分练习题5 二分法求函数的零点 题解
    二分练习题3 查找小于x的最大元素 题解
    二分练习题2 查找大于等于x的最小元素 题解
    二分练习题1 查找元素 题解
    code forces 1176 D. Recover it!
    code forces 1173 B. Nauuo and Chess
    code forces 1173 C. Nauuo and Cards
    吴恩达深度学习课程笔记-15
    吴恩达深度学习课程笔记-14
  • 原文地址:https://www.cnblogs.com/chonghaojie/p/14422604.html
Copyright © 2011-2022 走看看