在按钮上单击显示列表...在sencha中

时间:2013-03-06 06:59:21

标签: javascript sencha-touch sencha-touch-2

Ext.application({
  launch: function () {

    Ext.define("User", {
      extend: "Ext.data.Model",
      config: {
        fields: [{name: "title", type: "string"}]
      }
    });

    var myStore = Ext.create("Ext.data.Store", {
      model: "User",
      proxy: {
        type: "ajax",
        url : "http://www.imdb.com/xml/find?json=1&nr=1&tt=on&q=twilight",
        reader: {
          type: "json",
          rootProperty: "title_popular"
        }
      },
      autoLoad: true
    });

    var view = Ext.Viewport.add({
      xtype: 'navigationview',
      //we only give it one item by default, which will be the only item in the 'stack' when it loads
      items: [{
        xtype:'formpanel',
        title: 'SEARCH IMDB MOVIES ',
        padding: 10,
        items: [{
          xtype: 'fieldset',
          title: 'Search Movies from IMDB',
          items: [{
            xtype: 'textfield',
            name : 'Movie Search',
            label: 'Search Movie'
          }, {
            xtype: 'button',
            text: 'Submit',
            handler: function () {
              view.push({
                //this one also has a title
                title: 'List of Movies',
                padding: 10,
                //once again, this view has one button
                items: [{
                  xyz.show();
                }]
              });
            }
          }]
        }]
      }]
    });

    var xyz = new Ext.create("Ext.List", {
      fullscreen: true,
      store: myStore,
      itemTpl: "{title}"
    });
  }
});

错误是xyz.show(); 如果我删除xyz.show();它将正常工作; 但我想点击按钮后显示列表 这是点击我要显示列表的按钮的导航视图

2 个答案:

答案 0 :(得分:0)

试试这个:

handler: function () {
  view.push({
    //this one also has a title
    title: 'List of Movies',
    padding: 10,
    //once again, this view has one button
    items: [
      xyz
    ]
  });
}

答案 1 :(得分:0)

按如下方式更改xyz列表:

var xyz = new Ext.create("Ext.List", {
  //this one also has a title
  title: 'List of Movies',
  padding: 10,
  xtype:'xyz',
  alias:'xyz',
  hidden:true,
  fullscreen: true,
  store: myStore,
  itemTpl: "{title}"
});

然后就在它下面写

view.add(xyz);

然后在你的处理程序中

handler: function () {
    xyz.show();
}

未经测试但应该可以进行调整。