List{ // filteredContacts 这里只显示过滤后的联系人
ForEach(filteredContacts)
{ contact in
HStack{
VStack(alignment: .leading)
{
Text(contact.name)
.font(.headline)
Text("電話:\(contact.phone)\n價錢:\(contact.price)")
.font(.subheadline)
.foregroundColor(.secondary)
}
Spacer()
Button(action:{
selectedContact = contact
isEditing = true
}){
Text("修改")
.foregroundColor(.blue)
}
.padding(.trailing)
Button(action:{
selectedContact = contact
isShowingdetail = true
}
){Text("查看藥單")}
}
.padding()
.padding(.vertical,5)
}
.onDelete(perform: deleteContact)
}
.listStyle(PlainListStyle())
.sheet(item: $selectedContact){ contact in EditContactView(contact: contact) { updatedContact in updateContact(updatedContact) } }
.sheet(isPresented: $isAdding)
{
AddContactView { newContact in
addContact(newContact)
}
}
}
.navigationTitle(showButtons ? "藥單列表" : "")
.navigationBarItems(
trailing:
Group {
if showButtons {
Button(action: {
isAdding = true
}) {
Text("新增")
}
}
}
)
為什麼這一段點擊修改按鈕變成點擊整個列表而另外一個按鈕點擊不到
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注让【道友老李】来帮你解答,本回答参考通义千问大模型编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
如果答案让您满意,请采纳、关注,非常感谢!
根据您提供的代码片段,感觉您可能想要询问以下问题:- 这段代码是什么作用?
- 这段代码的结构是怎样的?
- 代码中涉及到的一些关键概念是什么? 我的回答如下:
- 这段代码展示了一个列表界面,用于显示过滤后的联系人信息,并提供了修改和查看详细信息的功能。同时还包括了添加联系人的功能。用户可以点击按钮来执行这些操作。
- 代码结构如下:
- 一个列表视图,其中循环遍历显示过滤后的联系人信息。
- 每个联系人信息使用HStack和VStack进行水平和垂直布局。
- 每个联系人信息包括姓名、电话和价格的显示,以及修改和查看详情的按钮。
- 点击按钮后会触发相应的动作,如修改联系人信息或查看详情。
- 列表视图添加了删除操作(deleteContact),以及弹出编辑联系人视图(EditContactView)和添加联系人视图(AddContactView)功能。
- 一些关键概念包括:
- ForEach:用于循环遍历数组或集合。
- HStack和VStack:用于水平和垂直布局UI元素。
- Button:创建一个按钮,并指定点击后的操作。
- onDelete:指定删除操作。
- sheet:在当前视图上叠加一个子视图。
- navigationTitle和navigationBarItems:设置导航栏的标题和右侧按钮。 以上是根据您提供的代码片段所能提供的回答,如果需要进一步帮助或代码示例,请提供更多上下文或说明。希望以上回答能满足您的需求。如有任何问题,请随时告诉我。谢谢!
解决评论 打赏 举报无用 1