macos - 如果在点击期间按下选项,如何更改 SwiftUI 菜单的内容
问题描述
我想创建一个具有动态内容的 SwiftUI 菜单(很容易做到),但是如果在单击菜单时按下了选项键,我想对项目进行排序。我已经探索过使用手势,但我无法弄清楚如何以不会干扰菜单本身操作的方式从手势更改我的状态。
有没有办法根据点击+修改键更新状态变量,这将在创建菜单子视图之前发生,并且不会干扰菜单的正常操作?
菜单将有“最近”并且可能包含几十个条目。能够对历史进行排序将使查找特定条目的速度更快。我想使用菜单,因为它在不使用时非常紧凑。
我正在寻找的骨架是:
Menu("My Menu") {
if <option-key pressed?> {
// sorted order
Button("A") { }
Button("B") { }
Button("C") { }
Button("D") { }
} else {
// natural order
Button("B") { }
Button("D") { }
Button("A") { }
Button("C") { }
}
}
这是针对 MacOS 的,谢谢!
解决方案
推荐阅读
- php - PHP中单词的随机化
- c++ - getaddrinfo() 无效参数
- ios - 我可以重置 CFBundleShortVersionString
- php - 从两个表MySql中用0计数值
- reactjs - React Typescript - 添加自定义属性
- r - 如何将 RFE 选择的变量插入到 r 中的机器学习模型中?
- javascript - 无法停止使用 javascript 录制
- javascript - 使用 javascript 表达式返回基于文件扩展名的文件列表
- xpath - 谷歌表格中的 Importhtml 公式用于网络抓取
- javascript - 你如何使 this.forceUpdate() 应用于 React Native 中的整个应用程序?