【问题标题】:Multiple List Sections in NavitagionSplitView Sidebar Only Shows a Single ItemNavigationSplitView侧边栏中的多个列表选择仅显示单个项目
【发布时间】:2022-12-22 18:47:54
【问题描述】:

当边栏中有多个部分时,我在显示列表中的所有列表元素时遇到问题。

这是一个示例代码。

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationSplitView {
            List {
                Section("Test 1") {
                    List(0...20, id: \.self) { i in
                        Text("\(i)")
                    }
                }
                
                Section("Test 2") {
                    List(21...50, id: \.self) { i in
                        Text("\(i)")
                    }
                }
            }
            .listStyle(.sidebar)
        } detail: {
            Text("Details")
        }

    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

当我运行这段代码时,我得到两个部分;但是它们下面的列表只显示一个项目而不是所有项目。

我究竟做错了什么?

【问题讨论】:

    标签: list macos swiftui


    【解决方案1】:

    您遇到此问题是因为您正试图在 List 部分内创建嵌套的 List。因此,您需要使用ForEach,而不是使用List查看内部部分。

    List {
        Section("Test 1") {
            ForEach(0...20, id: .self) { i in
                Text("(i)")
            }
        }
        
        Section("Test 2") {
            ForEach(21...50, id: .self) { i in
                Text("(i)")
            }
        }
    }
    .listStyle(.sidebar)
    

    【讨论】:

      猜你喜欢
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      相关资源
      最近更新 更多