使用ActionSheet进行sencha-touch

时间:2011-08-21 14:38:56

标签: sencha-touch

我正在尝试使用ActionSheet向用户提供几个继续的选项。我想在屏幕中间添加一个简单的文本框来向用户描述问题 是否有简单/标准的方法将这样的提示放入Sencha-Touch?

2 个答案:

答案 0 :(得分:2)

你需要在你的叠加层上做这样的事情......

if (!this.popup) {
  this.popup = new Ext.Panel({
    hideOnMaskTap: false,
    floating: true,
    modal: true,
    centered: true,
    hideOnMaskTap: false,
    width: 300,
    height: 200,
    styleHtmlContent: true,
    scroll: 'vertical',
    html: '<p>msg here</p>'
  });
}
this.popup.show('pop');

此处的关键是hideOnMaskTap: false,这样可以防止叠加层在单击其遮罩区域时消失。

然后您可以显示您的操作表,但是您必须记住在操作表按钮的处理程序中隐藏叠加层,因为当您点击遮罩区域时它将不再消失。

if (!this.actions) {
  this.actions = new Ext.ActionSheet({
    items: [{
      text: 'decline',
      ui: 'decline',
      handler: function() {
        this.doWhateverYouNeedToDo();
        this.actions.hide();
        this.popup.hide();
      }
    }, {
      text: 'save',
      handler: function() {
        this.doWhateverYouNeedToDo();
        this.actions.hide();
        this.popup.hide();
      }
    }, {
      text: 'cancel',
      scope: this,
      handler: function() {
        this.doWhateverYouNeedToDo();
        this.actions.hide();
        this.popup.hide();
      }
    }]
  });
}
this.actions.show();

请注意隐藏在工作表处理程序中的叠加层...(我不会在上面执行此操作,但您可能希望在隐藏它们之后销毁叠加层和操作表,以防止事情变得潮湿)

答案 1 :(得分:0)

您可以使用“叠加”弹出窗口在ActionSheet呈现后显示消息。