Browse Source

fix bug

main
npmrun 2 months ago
parent
commit
d2d2e3c9b4
  1. 3
      src/main/modules/commands/index.ts
  2. 5
      src/renderer/src/bridge/PopupMenu.ts
  3. 5
      src/renderer/src/components/NavBar.vue
  4. 1
      src/types/index.d.ts

3
src/main/modules/commands/index.ts

@ -79,8 +79,7 @@ export default class Commands extends BaseClass {
this.sendMessage(name, `popup_menu_close:${options.menu_id}`) this.sendMessage(name, `popup_menu_close:${options.menu_id}`)
// broadcast(`popup_menu_close:${options.menu_id}`) // broadcast(`popup_menu_close:${options.menu_id}`)
}) })
menu.popup(options.popupOptions)
menu.popup()
}) })
} }

5
src/renderer/src/bridge/PopupMenu.ts

@ -5,6 +5,7 @@
*/ */
import { IMenuItemOption } from "#" import { IMenuItemOption } from "#"
import type { PopupOptions } from "electron"
let _idx: number = 0 let _idx: number = 0
@ -20,7 +21,7 @@ export class PopupMenu {
this._items = menu_items this._items = menu_items
} }
show() { show(popupOptions?: PopupOptions) {
// console.log('show') // console.log('show')
this.onHide() this.onHide()
// eslint-disable-next-line @typescript-eslint/no-this-alias // eslint-disable-next-line @typescript-eslint/no-this-alias
@ -44,9 +45,11 @@ export class PopupMenu {
} }
const items = readMenu(this._items) const items = readMenu(this._items)
// popupOptions 中的 x,y 必须为整数
api.popupMenu({ api.popupMenu({
menu_id: this._id, menu_id: this._id,
items, items,
popupOptions,
}) })
;((offs: OffFunction[]) => { ;((offs: OffFunction[]) => {
api.once(`popup_menu_close:${this._id}`, () => { api.once(`popup_menu_close:${this._id}`, () => {

5
src/renderer/src/components/NavBar.vue

@ -35,7 +35,7 @@ const isFullScreen = ref(false)
onBeforeMount(async () => { onBeforeMount(async () => {
isFullScreen.value = await api.call("BasicCommand.isFullscreen") isFullScreen.value = await api.call("BasicCommand.isFullscreen")
}) })
const onClickMenu = () => { const onClickMenu = e => {
const menu = new PopupMenu([ const menu = new PopupMenu([
{ {
label: "返回", label: "返回",
@ -71,7 +71,8 @@ const onClickMenu = () => {
}, },
}, },
]) ])
menu.show() const obj = e.target.getBoundingClientRect()
menu.show({ x: ~~obj.x, y: ~~(obj.y + obj.height) })
} }
const onClickAbout = () => { const onClickAbout = () => {

1
src/types/index.d.ts

@ -6,4 +6,5 @@ interface IMenuItemOption extends Electron.MenuItemConstructorOptions {
export interface IPopupMenuOption { export interface IPopupMenuOption {
menu_id: string menu_id: string
items: IMenuItemOption[] items: IMenuItemOption[]
popupOptions?: PopupOptions
} }

Loading…
Cancel
Save