【发布时间】:2022-01-24 07:36:05
【问题描述】:
我在使用不会改变行高的列表时遇到了一些问题。我把它分成一个简单的例子。
这是完整的演示代码:
struct ContentView: View {
let items = ["item 1", "item 2", "item 3"]
@State var error: [String: String] = []
var body: some View {
List {
ForEach(self.items, id: \.self) { item in
VStack {
Text(item)
.padding()
if let e = error[item] {
Text(e)
}
}
.swipeActions(edge: .leading, allowsFullSwipe: true) {
Button(action: {
self.error[item] = "ERROR!"
}) {
Image(systemName: "square.and.arrow.up")
}.background(Color.blue)
}
}
}
}
}
一旦用户滑动单元格,我想在常规项目下方显示一条错误消息。不幸的是,现在发生的事情是这样的:
我希望它看起来像这样(为此,我在代码中的“错误”字典中添加了一个元素):
在我看来,这是很多人都会面临的问题,但我无法找到有关此问题的太多信息。我尝试了一些东西(例如 '.fixedSize' 修饰符),但我尝试过的都没有奏效,如果有任何帮助或想法,我将不胜感激!
【问题讨论】: