处理sencha中的叶节点

时间:2012-04-27 11:35:41

标签: sencha-touch extjs sencha-touch-2 nested-lists

我正在使用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}'
    }
});

提前致谢。

2 个答案:

答案 0 :(得分:0)

我想,你需要PhoneGap。

Sencha Touch无法使用文件系统访问权限。因此,您需要使用phonegap的File API来访问和读取存储在系统上的文件。

查看File API Documentation

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

示例来自Phonegap,

 ...
 ...
// 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);
}

...
...

希望能帮到你!

答案 1 :(得分:0)

我找到了使用事件的解决方案:嵌套列表提供的“onleafitemtap”。