我如何在列表中设置限制线
How I can set limit line in List
我想在我的列表中设置一个限制;我希望它只显示 5 行。
这是我的代码:
struct ContentView: View {
let allnum = ["1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10"]
var body: some View {
List {
ForEach(self.allnum , id: \.self) { num in
Text("\(num)")
}
}
}
}
当我将 List
更改为 List(0 ..< 5) { _ in
时,我看到 5 行,但所有元素都在数组中。
任何建议
谢谢!
我做了一个 ForEach,计数从 0 到 <5,并使用该数字索引数组。在生产代码中,您可能需要进行测试以确保您不会尝试使用超出数组末尾的索引。
struct ContentView: View {
let allnum = ["1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10"]
var body: some View {
List {
ForEach(0 ..< 5 ) { num in
Text("\(self.allnum[num])")
}
}
}
}
你不能做以下事情吗:
struct ContentView: View {
let allnum = ["1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10"]
var body: some View {
List {
ForEach(self.allnum[0 ..< 5], id: \.self) { num in
Text("\(num)")
}
}
}
}
所以你只取了整个列表的一个范围。
关于代码的 3 个步骤注释
- 您应该只取数组的前
n
个元素(这里是 5
)作为数据源。
List
不需要ForEach
.
- 简单的闭包参数不需要名称。
因此 body
的最小重构工作代码将是:
var body: some View {
List(allnum.prefix(5), id: \.self) { Text([=10=]) }
}
更多代码更少
如果您在某处实施此扩展:
extension String: Identifiable { public var id: String { self } }
列表代码会更小更简单,如:
List(allnum.prefix(5)) { Text([=12=]) }
我想在我的列表中设置一个限制;我希望它只显示 5 行。
这是我的代码:
struct ContentView: View {
let allnum = ["1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10"]
var body: some View {
List {
ForEach(self.allnum , id: \.self) { num in
Text("\(num)")
}
}
}
}
当我将 List
更改为 List(0 ..< 5) { _ in
时,我看到 5 行,但所有元素都在数组中。
任何建议
谢谢!
我做了一个 ForEach,计数从 0 到 <5,并使用该数字索引数组。在生产代码中,您可能需要进行测试以确保您不会尝试使用超出数组末尾的索引。
struct ContentView: View {
let allnum = ["1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10"]
var body: some View {
List {
ForEach(0 ..< 5 ) { num in
Text("\(self.allnum[num])")
}
}
}
}
你不能做以下事情吗:
struct ContentView: View {
let allnum = ["1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10"]
var body: some View {
List {
ForEach(self.allnum[0 ..< 5], id: \.self) { num in
Text("\(num)")
}
}
}
}
所以你只取了整个列表的一个范围。
关于代码的 3 个步骤注释
- 您应该只取数组的前
n
个元素(这里是5
)作为数据源。 List
不需要ForEach
.- 简单的闭包参数不需要名称。
因此 body
的最小重构工作代码将是:
var body: some View {
List(allnum.prefix(5), id: \.self) { Text([=10=]) }
}
更多代码更少
如果您在某处实施此扩展:
extension String: Identifiable { public var id: String { self } }
列表代码会更小更简单,如:
List(allnum.prefix(5)) { Text([=12=]) }