本文主要是介绍取消 nestedlist 点击弹出 detailcard 事件,主要就是把detailcard 设置为null 即可;,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
主要就是把detailcard 设置为null 即可; 我的app.js // 上传完成之后跳转回之前的页面;用于接收之前的路径; var parentPath = "/"; var url = window.location.href;// 所有的从其他地方来的似乎都会影响; if (url != null && url != "" && url != undefined) { var temp = 'parentpathfromuploadfile='; var aa = url.indexOf(temp.length + 1); if (aa > 0) { url = url.substring(aa + 1); parentPath = url; } }; // ----------------- 上传文件; var flag = true; // 用於判斷是否改變 btn 的值; 也就是显示上传还是选择图片 function getFilePathFromDialog() { if (flag) { document.getElementById('fileBrowser').click(); document.getElementById('filePath').value = document .getElementById('fileBrowser').value; // document.getElementById('btn').value='上传图片'; Ext.getCmp('btn').setHtml('开始上传'); flag = false; } else { // index.html // if(document.getElementById('filePath').value==null|| // document.getElementById('filePath').value==''|| // document.getElementById('filePath').value==undefined){ // Ext.Msg.alert("上传失败, 文件大小不能为空并且不能超过2M "); // return; // } try { // if(document.getElementById('filePath').value==null|| // document.getElementById('filePath').value==''|| // document.getElementById('filePath').value==undefined){ // flag=true; // Ext.getCmp('btn').setHtml('选择文件'); // // return ; // // } document.getElementById('uploadForm').submit(); Ext.getCmp('btn').setHtml('选择文件'); flag = true; // Ext.Msg.alert("上传成功 "); var nestedList = Ext.getCmp('nestedlistid'); var nestedListstore = nestedList.getStore(); var beforeLength = nestedListstore.data.items.length; // alert("before=="+beforeLength); nestedListstore.setProxy({ type : 'ajax', url : "'/TouchOnline/findAllResourceAction.action?id=01", extraParams : { parent : parentPath }, reader : { type : 'json', root : '' } }); nestedListstore.load(); var afterlength = nestedListstore.data.items.length; document.getElementById('filePath').value == ''; } catch (err) { Ext.Msg.alert("上传失败, 文件大小不能为空并且不能超过2M ") } } } function uploadSuccess(msg) { if ('fail' == msg) { Ext.Msg.alert("上传失败, 文件大小必须在0~2M之间") } else if ('success' == msg) { Ext.Msg.alert("上传成功!!!"); } // if (msg.split('|').length > 1) { // $('#imgShow').attr('src', msg.split('|')[1]); // $('#uploadLog').html(msg.split('|')[0]); // Ext.Msg.alert(msg); // Ext.Msg.alert("上传成功!!!"); // } else { // $('#uploadLog').html(msg); // Ext.Msg.alert("上传失败,请检查文件大小!!!"); // } } Ext.Loader.setPath({ 'Ext' : '../../src' // 设置Ext代表../../src // , , 'Ext.ux' : '../../src/ux' }); // </debug> Ext.application({ // name : 'Sencha', name : 'Fileup', controllers : ['Main'], // controllers : ['Main'],// 设置控制层; startupImage : { '320x460' : 'resources/startup/Default.jpg', // Non-retina '640x920' : 'resources/startup/640x920.png', // Retina iPhone '640x1096' : 'resources/startup/640x1096.png', // iPhone 5 and '768x1004' : 'resources/startup/768x1004.png', // Non-retina '748x1024' : 'resources/startup/748x1024.png', // Non-retina '1536x2008' : 'resources/startup/1536x2008.png', // : Retina '1496x2048' : 'resources/startup/1496x2048.png' // : Retina iPad }, isIconPrecomposed : true, icon : { 57 : 'resources/icons/icon.png', 72 : 'resources/icons/icon@72.png', 114 : 'resources/icons/icon@2x.png', 144 : 'resources/icons/icon@144.png' }, requires : ['Ext.tab.Panel', 'Ext.form.*', 'Ext.field.*', 'Ext.data.*', 'Ext.TitleBar', 'Ext.Button', 'Ext.field.Hidden', 'Ext.ux.Fileup'], launch : function() { var detailCard = null; Ext.Viewport.add({ // xtype : 'tabpanel', // fullscreen : true, // ui :'light', // title : '资源管理', // items : [ // { xtype : 'nestedlist', fullscreen : true, title : '主菜单', id : "nestedlistid", iconCls : 'star', cls : 'blog', displayField : 'title', toolbar : { items : [ { xtype : 'button', iconCls : 'arrow_left', iconMask : true, id : 'homeBtn', handler : function() { if (parentPath != "/") { parentPath = parentPath.substring(0, parentPath .lastIndexOf("/")); if (parentPath.lastIndexOf("/") < 0) { parentPath = "/";// think } } else { parentPath = "/"; } var view = Ext.getCmp('nestedlistid'); var nestedListstore = view.getStore(); nestedListstore.setProxy({ // type : 'ajax', url : "'/TouchOnline/findAllResourceAction.action?id=01", extraParams : { parent : parentPath }, reader : { type : 'json', root : '' } }); nestedListstore.load(); } } // , , { xtype : 'button', // iconCls : 'arrow_left', iconMask : true, text : '上传文件', id : 'btn', handler : function() { getFilePathFromDialog(); } } /** * { xtype : 'button', iconAlign : 'right', iconCls : 'add', ui : * 'plain', xtype : 'fileupload', autoUpload : false, url : * '/TouchOnline/servlet/UploadServlet', itemId : 'fileBtn', id : * "fileBtn", handler : function() { Ext.Ajax .request( { url : * '/TouchOnline/checkIsLoginAction.action', params : { id : * '01' }, method : 'POST', timeout : 3000, form : "myform", * success : function( response, options) { * * var obj = Ext .decode(response.responseText); * * var info = obj['isLogin']; * * if (info == "true") { } else { * * window.location.href = '../forms/index.html'; } }, failure : * function( response, options) { Ext.Msg .alert("请求失败"); } }); } }* */ ] }, store : { type : 'tree', autoLoad : true, fields : ['title', 'link', 'author', 'contentSnippet', 'content', 'filetype', 'icon', { name : 'leaf', defaultValue : true }], root : { leaf : false }, proxy : { type : 'ajax', url : '/TouchOnline/findAllResourceAction.action', reader : { type : 'json', root : 'list' } } }, getItemTextTpl : function(node) { // return template ="<div><div ><div > <img // src='{icon}'/></div><div ><h2>Menu</h2><ul><li>HTML</li>"+ // "<li>CSS</li><li>JavaScript</li></ul></div></div></div>"; // return template = '<div id="container" ><span id="menu"><img // src="{icon}" width="50px" height="70px"/>'+ // '</span><span id="titleandcontent"><span ><font size="5" // color="gray">{title}</font></span><span // >{link}</span></span></div>'; return template = '<div><span ><img src="{icon}" width="74px" height="74px" /> {title} </span></div>'; // getItemTextTpl : function(node) { // return template = // '<div><span>{text}</span><tpl // if="price > 0"> @ // {price}</tpl></div>'; // }, }, detailCard : detailCard // { // xtype : 'panel', // scrollable : true, // styleHtmlContent : true // } , listeners : { itemtap : function(nestedList, list, index, element, post) { // Window.location.href=post.get('url'); // nestedList.removeAll(true,true); // alert(post.get('filetype')); if ("dir" != post.get('filetype')) { /* * * * * var nestedListstore = nestedList.getStore(); if * (parentPath == "/") { parentPath += * post.get('title'); } else { parentPath += "/" + * post.get('title'); } nestedListstore.setProxy({ * * type : 'ajax', url : * "'/TouchOnline/findAllResourceAction.action?id=01", * * extraParams : { parent : parentPath }, reader : { * type : 'json', root : '' * } }); nestedListstore.load(); // * alert('/TouchOnline/servlet/DownloadServlet?path=../upload'+parentPath+"/"+post.get('title')); * * window.location = * '/TouchOnline/servlet/DownloadServlet?path=../upload' + * parentPath; this.getDetailCard().setHtml("'../upload" + * parentPath + "/" + post.get('title') + "'>" + "<img * src='../upload" + parentPath + "/" + * post.get('title') + "'/>"); * * */ return; } else if ("dir" == post.get('filetype')) { // function stopEvent (evt) { var evt = evt || window.event; evt.preventDefault(); if (evt.preventDefault) { evt.preventDefault(); evt.stopPropagation(); } else { evt.returnValue = false; evt.cancelBubble = true; } var nestedListstore = nestedList.getStore(); if (parentPath == "/") { parentPath += post.get('title'); } else { parentPath += "/" + post.get('title'); } nestedListstore.setProxy({ type : 'ajax', url : "'/TouchOnline/findAllResourceAction.action?id=01", // params : { // id : '01' // }, extraParams : { parent : parentPath }, reader : { type : 'json', root : '' } // , }); nestedListstore.load(); } } } // } // ] }); } }); ///官网demo; Ext.setup({onReady: function () {var data = {text: 'Groceries',items: [{text: 'Drinks',items: [{text: 'Water',items: [{text: 'Sparkling',leaf: true}, {text: 'Still',leaf: true}, {text: 'Deep',leaf: true}, {text: 'Muddy',leaf: true}]}]}]};Ext.define('ListItem', {extend: 'Ext.data.Model',config: {fields: [{name: 'text',type: 'string'}]}});var store = Ext.create('Ext.data.TreeStore', {model: 'ListItem',defaultRootProperty: 'items',root: data});var detailCard = null;var showDetail = true;var nestedList = Ext.create('Ext.NestedList', {fullscreen: true,title: 'Groceries',displayField: 'text',store: store,listeners: {leafitemtap: function (nlist, list, index, element, record, e, opts) {if (showDetail) {detailCard = {xtype: 'container',items: [{xtype: 'button',text: 'hi ' + record.get('text')}]}nlist.setDetailCard(detailCard);} else {// Cancel the DetailCardnlist.setDetailCard(null);}// toggle whether we are showing or not.showDetail = !showDetail;}}});} });
这篇关于取消 nestedlist 点击弹出 detailcard 事件,主要就是把detailcard 设置为null 即可;的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!