fix:v-clickoutsize指令兼容旧的调用方式
This commit is contained in:
@@ -7,8 +7,13 @@ const exceptClassName = ["config-dropdown", "nz-pop", "el-picker", "chart-box-dr
|
|||||||
export const clickoutside = {
|
export const clickoutside = {
|
||||||
// 初始化指令
|
// 初始化指令
|
||||||
bind(el, binding, vnode) {
|
bind(el, binding, vnode) {
|
||||||
if(!binding.value||!binding.value.obj) return;
|
if(!binding.expression) return;
|
||||||
let oldValue = JSON.parse(JSON.stringify(binding.value.obj));
|
let oldValue;
|
||||||
|
try{
|
||||||
|
oldValue= JSON.parse(JSON.stringify(binding.value.obj));
|
||||||
|
}catch (e) {
|
||||||
|
|
||||||
|
}
|
||||||
function documentHandler(e) {
|
function documentHandler(e) {
|
||||||
if (el.contains(e.target)) {
|
if (el.contains(e.target)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -26,20 +31,29 @@ export const clickoutside = {
|
|||||||
if (!flag) {
|
if (!flag) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if(oldValue){
|
||||||
let newValue = JSON.parse(JSON.stringify(binding.value.obj));
|
let newValue = JSON.parse(JSON.stringify(binding.value.obj));
|
||||||
if(!isEqual(oldValue,newValue)){
|
if(!isEqual(oldValue,newValue)){
|
||||||
MessageBox.confirm(i18n.t("tip.confirmCancel"), {
|
MessageBox.confirm(i18n.t("tip.confirmCancel"), {
|
||||||
confirmButtonText: i18n.t("tip.yes"),
|
confirmButtonText: i18n.t("tip.yes"),
|
||||||
cancelButtonText: i18n.t("tip.no"),
|
cancelButtonText: i18n.t("tip.no"),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
if(binding.value.func){
|
if(binding.value.func){
|
||||||
binding.value.func();
|
binding.value.func();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}else{
|
||||||
|
binding.value.func();
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
binding.value.func();
|
if (binding.arg) {
|
||||||
|
binding.value(e, binding.arg);
|
||||||
|
} else {
|
||||||
|
if(binding.value){
|
||||||
|
binding.value(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user