yyzone
Version:
yyzone vue components and utils
29 lines (27 loc) • 1.24 kB
JavaScript
import { findComponentsDownward } from '../utils/assist'
export default {
methods: {
handleKeydown(event) {
if (this.closeable) {
const $Dialogs = findComponentsDownward(this.$root, 'YYDialog').filter(item => item.$props.value)
const $Modals = findComponentsDownward(this.$root, 'YYModal').filter(item => item.$props.value)
const $Selects = findComponentsDownward(this.$root, 'YYSelectMember').filter(item => item.$props.value)
const $TopWindow = [...$Dialogs, ...$Modals, ...$Selects].sort((a, b) => {
return a.$data.transferIndex < b.$data.transferIndex ? 1 : -1
})[0]
if (event.keyCode === 27) {
event.preventDefault()
setTimeout(() => {
$TopWindow.closeable && $TopWindow.handleCancel()
}, 0)
}
if ((event.metaKey || event.ctrlKey) && event.keyCode === 13) {
event.preventDefault()
setTimeout(() => {
$TopWindow.handleOk()
}, 0)
}
}
}
}
}