我的应用程序中有一个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)
})
})
}
你能帮我吗?
我真的很感激。
谢谢你,谢谢你
1条答案
按热度按时间unhi4e5o1#
List与绑定一起工作,因此您可以在子视图中获得对项的写访问权限,例如:
仅供参考,在SwiftUI中不需要视图模型对象,视图结构和属性 Package 器已经完成了这项工作。