|
|
|
@ -26,9 +26,11 @@ export default { |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
open(pos, items) { |
|
|
|
this.pos = pos; |
|
|
|
this.pos.x = pos.x; |
|
|
|
this.pos.y = pos.y; |
|
|
|
this.items = items; |
|
|
|
this.show = true; |
|
|
|
this.rejustPos(); |
|
|
|
}, |
|
|
|
close() { |
|
|
|
this.show = false; |
|
|
|
@ -36,6 +38,16 @@ export default { |
|
|
|
onSelectMenu(item) { |
|
|
|
this.$emit("select", item); |
|
|
|
this.close(); |
|
|
|
}, |
|
|
|
rejustPos() { |
|
|
|
let menuH = this.items.length * 36; |
|
|
|
let menuW = 100; |
|
|
|
if (this.pos.y > window.innerHeight - menuH) { |
|
|
|
this.pos.y = window.innerHeight - menuH; |
|
|
|
} |
|
|
|
if (this.pos.x > window.innerWidth - menuW) { |
|
|
|
this.pos.x = window.innerWidth - menuW; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -75,4 +87,4 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |