1
當我在同一頁面中使用多個甜蜜警報時,它總是調用第一個回調。多個甜蜜警報始終執行第一個確認回調
我解釋一下:
我有一個按鈕發送成爲好友請求「掛起/取消」按鈕,單擊
{{#if addFriend}}
<li>{{> addFriendBtn user=usr}}</li>
{{/if}}
{{#if pending}}
<li>{{> pendingFriendBtn user=usr}}</li>
{{/if}}
後每個BTN具有click事件調用甜警報:
Template.addFriendBtn.events({
'click .add-friend': function (evt,tpl) {
console.log('inside click .add-friend...');
const options = {
title: "Friend request",
showCancelButton: true,
confirmButtonText: "Oui",
closeOnConfirm: true,
closeOnCancel:true,
allowOutsideClick: false,
allowEscapeKey:true
};
swal(options, function() {
console.log("Inside add-friend confirmation swal...");
Meteor.call('sendFriendRequest', tpl.data.user);
});
}
});
Template.pendingFriendBtn.events({
'click .cancel-request': function (evt, tpl) {
console.log('inside click .cancel-request');
const options = {
title: "Confirmation",
showCancelButton: true,
closeOnConfirm: true,
closeOnCancel:true,
allowOutsideClick: false,
allowEscapeKey:true
};
swal(options, function(){
console.log("inside cancel-request confirmation swal...");
Meteor.call('cancelFriendRequest', tpl.data.user);
});
}
});
Meteor.methods({
sendFriendRequest: function (recipient) {
console.log('Inside sendFriendRequest...');
...
},
cancelFriendRequest: function (recipient) {
console.log('Inside cancelFriendRequest ...');
....
}
});
當我第一次點擊「添加朋友」按鈕時,它工作正常。我收到了甜蜜的警報,確認後,我的回調正確完成,並且按鈕變爲「待處理/取消」按鈕。
當我點擊這個「待定/取消」按鈕取消我的好友請求時,我得到正確的甜蜜警報,但是當我確認時,它會爲第一個按鈕「添加好友」執行回調「sendFriendRequest」 。
我不明白爲什麼它的行爲是這樣的...對這個問題有什麼想法?提前致謝。
UPDATE:添加日誌後
首先點擊:添加好友:
客戶端日誌:
內點擊。新增-朋友......
裏面添加 - 朋友確認swal ...
服務器日誌:
裏面sendFriendRequest ...
第二點擊:取消待處理的請求:
客戶端日誌
點擊.cancel請求裏面
裏面加友好確認swal ...
服務器日誌:在您的SwaI位配置錯誤:
裏面sendFriendRequest ...
添加一些控制檯日誌:首先在您的.add-friend事件中,第二個在.cancel-request事件中,第三個在您的sendFriendRequest回調中,最後在您的cancelFriendRequest回調中。確保正確的代碼路徑實際上正在執行。 –
我按照你的建議添加了日誌(編輯過的問題),並得到以下結果:**第一次點擊:添加朋友:** _客戶日誌:_ 裏面點擊。好友添加... 內好友添加確認SwaI位... _SERVER日誌:_ 裏面sendFriendRequest ... **第二次點擊:取消待處理的請求:** _client logs_ 點擊.cancel請求 內內添加朋友確認swal ... _Server日誌:_ 裏面sendFriendRequest ... –
嗨,你有沒有解決這個問題?如果是,如何?我有同樣的問題。 – ickyrr