Ошибка при выполнении showtoast в молнии Salesforce - PullRequest
0 голосов
/ 04 февраля 2019

Ниже кода выдает ошибку при выполнении оператора toastEvent.setParams .Не уверен, что я пропустил или устарел весной 19 года?

loadContacts : function(cmp) {
    var action = cmp.get("c.getContacts");
    action.setCallback(this, function(response){
        var state = response.getState();
        if (state === 'SUCCESS') {
            cmp.set('v.contacts', response.getReturnValue());
            cmp.set('v.contactList', response.getReturnValue());
            this.updateTotal(cmp);
        }
        console.log('Here');
        var toastEvent = $A.get("e.force:showToast");
        if (state === 'SUCCESS') {
            toastEvent.setParams({
                "title" : 'Success!',
                "message" : 'Your contacts have been loaded successfully.'
            });
        }
        else {
            toastEvent.setParams({
                "title" : "Error!",
                "message" : "Something has gone wrong."
            });
        }
        toastEvent.fire();
    });
    $A.enqueueAction(action);
},

Вот скриншот ошибки: enter image description here

1 Ответ

0 голосов
/ 28 февраля 2019

Из документов :

Это событие обрабатывается контейнером one.app.Это поддерживается в Lightning Experience, приложении Salesforce и сообществах Lightning.

Эта ошибка появится при попытке получить $A.get("e.force:showToast") вне контекста контейнера one.app (например, если у вас естькомпонент в приложении Lightning для тестирования вместо перетаскивания его на страницу записи в компоновщике).$A.get("e.force:showToast") возвращается как неопределенное, и вызов setParams для undefined приводит к ошибке.

Попробуйте перетащить свой компонент на страницу сведений о записи или сообщество или создать вкладку из компонента Lighting.Если вам нужно использовать компонент вне контекста one.app, вам нужно самостоятельно реализовать логику show / hide toast.

...