如何在Extjs中创建单身Toast

时间:2017-06-08 19:56:25

标签: javascript extjs extjs6 extjs6-classic extjs6.2

我需要在我的应用程序的屏幕上创建一个吐司,今天如果我在按钮上多次点击,会出现几个祝酒词。

编辑:

showToast: function(message) {
    var openedToast = Ext.get(document.querySelector('[id^="toast-"]'));
    if (openedToast != null) {
        var toast = Ext.getCmp(openedToast.id);
        toast.close();
    }
    Ext.defer(function() {
        Ext.toast({
            html: message,
            align: 't'
        });
    }, 80);
}

但是如果用户快速点击按钮,则会多次创建吐司

1 个答案:

答案 0 :(得分:2)

只需给它一个唯一的标识符,并在创建新标识符之前检查它是否已存在。

{
    xtype: 'button',
    handler: function(){
        if(!Ext.ComponentQuery.query('#myToast').length){
            Ext.toast({
                itemId: 'myToast',
                html: 'toast!'
            });
        }
    }
}

» Fiddle