xcode 如何将一个列表中的字符串数据从视图传递到SwitUI中ViewModel中的函数?

blmhpbnm  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(139)

我的应用程序中有一个Text(String)的列表,我想将String传递给ViewModel: getPlayerMenuChoice中的函数,以告诉ItemDetailView它必须根据列表中的用户选择显示的详细信息。
我写了下面的代码,但它没有传递数据。

import SwiftUI

struct MenuItemRow: View {
    let item:SpeakGame
    
    var body: some View {
        
        List(viewModel.sentences, id:(\.id)) { list in
                NavigationLink(
                    destination: ItemDetailView(item: list.sentence[0]),label:{
                    Text(list.translation)
                        
                    .simultaneousGesture(TapGesture().onEnded{
                         viewModel.getPlayerMenuChoice(choice: list.sentence[0].definition)

                       })
                       
                    })
}

你能帮我吗?
我真的很感激。
谢谢你,谢谢你

unhi4e5o

unhi4e5o1#

List与绑定一起工作,因此您可以在子视图中获得对项的写访问权限,例如:

@EnvironmentObject var store: Store
...
List($store.sentences) { $sentence in
    NavigationLink(destination: ItemDetailView(item: $sentence)

仅供参考,在SwiftUI中不需要视图模型对象,视图结构和属性 Package 器已经完成了这项工作。

相关问题