如何解决Swiftui按钮切换
我有一系列这样的按钮:
ForEach(context.items){item in
Button(action: {
self.variableSelection.toggle()
}) {
Text("\(item)")
if self.variableSelection{
Text("Extra text")
}
}
}
正在发生的是: 出现项目列表,当我单击一个按钮时,每个按钮的底部都会出现“额外文本”。
我想让“多余的文字”仅出现在我单击的按钮下方。我该如何实现?
谢谢
解决方法
将行提取到单独的视图中,因此每一行都有自己的展开/折叠状态,例如
struct ItemRowView: View {
let item: String
@State private var variableSelection = false
var body: some View {
Button(action: {
self.variableSelection.toggle()
}) {
Text("\(item)")
if self.variableSelection{
Text("Extra text")
}
}
}
}
所以现在循环
ForEach(context.items){item in
ItemRowView(item: item)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。