当时我的脑海中在思考了把 context-menu 封装成一个 component ,通过数据配置的方式动态拓展菜单选项。本来想去找前端小哥看一眼,但一直不在工位上,最后问了下同组的前端实习生,他认为是 item.showOption 字段在数据更新时没有加上,导致后续直接读取时不存在。iOS 的事件响应链是逐级传递到子组件中,也就是向下传递,而不是像前端中的向上传递。与 context-menu 有关的所有操作与主 window 没有任何关系,更别说事件穿透了。所以最终我的做法是多加了一个遮罩层,显示和隐藏的时机与 context-menu 的时机保持一致。最后找到了可以使用 v-outside-click 进行。关于后续的细节就不展开了, v-outside-click 的使用也十分简洁。

深入理解使用Vue实现Context-Menu的思考与总结

深入理解使用Vue实现Context-Menu的思考与总结

深入理解使用Vue实现Context-Menu的思考与总结

深入理解使用Vue实现Context-Menu的思考与总结

深入理解使用Vue实现Context-Menu的思考与总结