首页 > 解决方案 > 导航链接字符串

问题描述

我试图为此找到正确的方法

    struct MainMenu: View {

    let items = [
        
        item(title: "Menu 1", image: "img1", imgColor: .orange, navMenu: "Menu1"),
        item(title: "Menu 2", image: "img2", imgColor: .orange, navMenu: "Menu2"),

这是 NavigationLink 的代码,但可能写得不好。我需要用 navMenu 中的名称填写目的地。这与 Menu1.swift 和另一个相同


                    VStack {

                    HStack {
                    personView

                    ObjectView
                    }
                    LazyVGrid(columns: columns, spacing: spacing)   {
                        ForEach(items) { item in
                            NavigationLink(destination: \(String(item.navMenu))()){
                                Text("")
                            } label: {
                                ItemView(item: item)
                            }
                        }
                    }

//                    .padding(.horizontal)

                }

在下一步我做这个。

    var body: some View {
        LinearGradient(gradient: Gradient(colors: [.purple, .blue]), startPoint: .topLeading, endPoint: .bottomTrailing)
            .edgesIgnoringSafeArea(.all)

                let columns = Array(
                    repeating: GridItem(.flexible(), spacing: spacing),
                    count: numbersOfColumns)

                VStack {

                    HStack {
                    personView

                    objectView
                    }
                    LazyVGrid(columns: columns, spacing: spacing)   {
                        ForEach(items) { item in
                            NavigationLink(destination: Text(item.navMenu)) {
                                ItemView(item: item)
                            }
                        }
                    }

                }

但是单击项目后,不会调用下一个菜单。Menu1.swift

这仅打开带有文本 Menu1 的空白表

最后我需要在 LazyVGrid 中使用这个项目,比如下一个 *.swift 文件的按钮

简短的描述。在另一个 *.swift 文件中,我有

                NavigationLink(destination: Menu1()) {
                    Button_register()
                    }

单击按钮后的此代码将我带到下一个名为 Menu1.swift 的快速文件

我需要这个相同但集成在 LazyVGrid 中的项目中,但 Menu1.swift 的路径将从 navMenu 中的文本组合。

对不起,也许我说的不好。

标签: swiftswiftui

解决方案


推荐阅读