Javascript vuex操作负载的默认值?

Javascript vuex操作负载的默认值?,javascript,vue.js,Javascript,Vue.js,我试图找到一种更好的方法来为vuex操作负载属性设置默认值,现在我使用if-else来检查传递的负载对象是否具有延迟属性,如果没有,我将该值设置为默认值,您可以想象其余的情况 有没有更好的方法用更少的行数做到这一点?我相信一定有 以下是我的行动: showModal ( {commit}, modalPayload ) { let delay; if(modalPayload.delay == undefined){ delay = 3

我试图找到一种更好的方法来为vuex操作负载属性设置默认值,现在我使用if-else来检查传递的负载对象是否具有延迟属性,如果没有,我将该值设置为默认值,您可以想象其余的情况

有没有更好的方法用更少的行数做到这一点?我相信一定有

以下是我的行动:

showModal ( {commit}, modalPayload ) {

        let delay;

        if(modalPayload.delay == undefined){
            delay = 3000;
        }
        else{
            delay = modalPayload.delay
        }

        commit('SHOW_MODAL',  modalPayload);
        setTimeout(function(){
            commit('HIDE_MODAL');
        }, delay);

    },

提前感谢。

您可以使用以下设置默认值:

此外,如果不需要将
delay
传递给
commit
,则可以对第二个函数参数进行分解:

showModal ({ commit }, { delay = 3000, ...modalPayload }) {
  commit('SHOW_MODAL', modalPayload);
  setTimeout(() => commit('HIDE_MODAL'), delay);
}
showModal ({ commit }, { delay = 3000, ...modalPayload }) {
  commit('SHOW_MODAL', modalPayload);
  setTimeout(() => commit('HIDE_MODAL'), delay);
}