可以诸如此类的封装一下
/* * 公用提示窗 * @export * @param {string}[desc="确认操作"]弹框提示文字 * @param {string}[title="提示"]弹框标题 * @param{string}[confirmButtonName ='确认']确认按钮文字 * @param {string}[cancelButtonName="取消"] 取消按钮文字 * @param{boolean}[distinguishCancelAndClose = false]关系和取消是否执行同一方法 *@return * */ export function confirm (desc = '确认操作', title = '提示', confirmButtonName = '确认', cancelButtonName = '取消', distinguishCancelAndClose = false) { return this.$confirm(desc, title, { confirmButtonName: confirmButtonName, cancelButtonName: cancelButtonName, distinguishCancelAndClose: distinguishCancelAndClose, closeOnClickModel: false, type: 'warning', center: true }) }
xxx//vue submitSome(){ try(){ async utils.confirm.call(this,"确认要删除吗") const formData = { 'id':this.id } let res = await this.$post('/sss',formData) if(res.code===1){ //do something } }catch(e){ console.log(e) // 如果需要关闭和取消有所区别 if(e==='close'){ //do something }else if(e==='cancel'){ //do something } } }
this.$confirm确定框内容换行显示
// 把写的提示信心需要换行的地方分成数组 confirmText const confirmText = ['是否将此项移除?', '注意:移除后不可恢复。'] const newDatas = [] const h = this.$createElement for (const i in confirmText) { newDatas.push(h('p', null, confirmText[i])) } this.$confirm( '提示', { title: '提示', message: h('div', null, newDatas), showCancelButton: true, confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' } ).then(() => { })