SwiftUI contextMenu不刷新

时间:2019-10-22 10:57:54

标签: swiftui

      var body: some View {
        let zstack = ZStack {

          Frontside(id: $tangoID, sheet: $showingSheet, rotate: $fullRotation)
            .rotation3DEffect(.degrees(self.showResults ? 180.0 : 0.0), axis: (x: 0.0, y: 1.0, z: 0.0))
            .rotation3DEffect(.degrees(self.fullRotation ? 360.0 : 0.0), axis: (x: 0.0, y: 1.0, z: 0.0))
            .zIndex(self.showResults ? 0 : 1)


          Backside(id: $tangoID, sheet: $showingSheet, bookmark: $bookmarked, results: $showResults, rotate: $fullRotation)
            .rotation3DEffect(.degrees(self.showResults ? 0.0 : 180.0), axis: (x: 0.0, y: -1.0, z: 0.0))
            .rotation3DEffect(.degrees(self.fullRotation ? 360.0 : 0.0), axis: (x: 0.0, y: 1.0, z: 0.0))
            .zIndex(self.showResults ? 1 : 0)

        }   
        .contextMenu(menuItems: {Button(action: {
          tangoArray[randomNum].bookmark.toggle()
          database.updateUserData(tango: tangoArray[randomNum])
        }, label: {
          VStack{
            Image(systemName: tangoArray[randomNum].bookmark ? "bookmark" : "bookmark.fill")
              .font(.title)
            Text(tangoArray[randomNum].bookmark ? "Remove bookmark" : "Bookmark")
          }
        })
        })

我正在尝试使用contextMenu为抽认卡项目添加书签。但是,我发现即使randonNum更改了,所以显示了另一个抽认卡,上下文菜单中的书签仍显示前一张卡的状态。例如,如果我只是将前一张卡片标记为书签,则这是一个填充的书签。

0 个答案:

没有答案