2012-04-27 102 views
0

我使用sencha創建了一個嵌套列表。 現在點擊我得到一個列表,直到我到達葉節點。在sencha中處理葉節點

現在我想要的是,點擊一個葉節點,我想生成一個事件,使我能夠打開一個文件。

不知道該怎麼做。

我嵌套列表代碼是提前

Ext.define("InfoImage.view.nestedList", { 
    extend:'Ext.NestedList', 
    xtype:'nestedList', 
    id:'nestedList', 

    config:{ 
     fullscreen:'true', 
     title:'Nested List', 
     xtype:'nestedList', 
     displayField : 'text', 
     html:'Nested List on its way!!!', 
     store:'nestedListStore' 
     //itemTpl:'{text}' 
    } 
}); 

感謝。

+0

打開文件?哪個檔案?它在哪裏? – 2012-04-27 11:41:25

+0

位於系統上的任何文件。 – Khush 2012-04-27 11:42:32

+0

位於系統上的文件?我不認爲,像SenchaTouch這樣的本地功能就像文件訪問一樣。 Sencha Touch是用於UI的,而不是本地功能。 – 2012-04-27 11:43:55

回答

0

我找到了使用嵌套列表提供的事件「onleafitemtap」的解決方案。

0

我想,你的需要PhoneGap在這裏。

文件系統訪問不適用於Sencha Touch。因此,您需要使用phonegap的File API來訪問和讀取存儲在系統中的文件。

退房的File API Documentation

FILE API : An API to read, write and navigate file system hierarchies. 

樣品從PhoneGap的e.g,

... 
... 
// PhoneGap is ready 
function onDeviceReady() { 
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); 
} 

function gotFS(fileSystem) { 
    fileSystem.root.getFile("readme.txt", {create: true}, gotFileEntry, fail); 
} 

function gotFileEntry(fileEntry) { 
    fileEntry.file(gotFile, fail); 
} 

function gotFile(file){ 
    readDataUrl(file); 
    readAsText(file); 
} 

function readDataUrl(file) { 
    var reader = new FileReader(); 
    reader.onloadend = function(evt) { 
     console.log("Read as data URL"); 
     console.log(evt.target.result); 
    }; 
    reader.readAsDataURL(file); 
} 

function readAsText(file) { 
    var reader = new FileReader(); 
    reader.onloadend = function(evt) { 
     console.log("Read as text"); 
     console.log(evt.target.result); 
    }; 
    reader.readAsText(file); 
} 

... 
... 

希望幫助你!