多个目标内列表 SwiftUI
Multiple Destination Inside List SwiftUI
我创建了一个 MenuList
、一个 MenuListElementView
和一个 MenuListElement
。在我的 MenuList
struct MenuList {
static let listData: [MenuListElement] = [
MenuListElement(elementID: 0, icon: Constants.IconNames.smileyFace, title: Constants.IconTitles.title1, color: Constants.Colors.gray, numbers: 2),...
}
依此类推我创建了 10 个单独的列表元素。
在我的MenuListElement
struct MenuListElement: Identifiable {
var id: Int {
return elementID
}
var elementID: Int
var icon: String
var title: String
var color: Color
var numbers: Int
}
在我的 MenuListElementView
中,我简单地设计了每个列表元素必须的样子。
最后,我设计了这个MenuView
现在,我想做的是在每次点击此代码时 MenuListElement
前往不同的目的地。
NavigationView{
List(MenuList.listData) { item in
MenuListElementView(item: item)
}
}
假设我想在 MenuLView
上点击 Yazarlar 时前往 AuthorView
,在点击 Arama 时前往 SearchView
。我想要 10 个不同的目的地 View
.
我修改了我的 MenuListElement
以便能够用它发送内部视图。
struct MenuListElement: Identifiable {
var id: Int {
return elementID
}
var elementID: Int
var icon: String
var title: String
var color: Color
var numbers: Int
var view: Any
}
我已将 List
视图更改为
List(MenuList.listData) { item in
Button(action: {
self.isOpen = true
}) {
MenuListElementView(item: item)
.fullScreenCover(isPresented: $isOpen) {
AnyView(_fromValue: item.view)
}
}
}
并将我的 MenuList
更改为
struct MenuList {
static let listData: [MenuListElement] = [
MenuListElement(elementID: 0, icon: Constants.IconNames.smileyFace, title: Constants.IconTitles.title1, color: Constants.Colors.gray, numbers: 2, view: MembershipView()),...
通过这种方式,每个列表元素中都有视图信息,所以通过一个按钮,我可以直接传递到我想要的视图。
我创建了一个 MenuList
、一个 MenuListElementView
和一个 MenuListElement
。在我的 MenuList
struct MenuList {
static let listData: [MenuListElement] = [
MenuListElement(elementID: 0, icon: Constants.IconNames.smileyFace, title: Constants.IconTitles.title1, color: Constants.Colors.gray, numbers: 2),...
}
依此类推我创建了 10 个单独的列表元素。
在我的MenuListElement
struct MenuListElement: Identifiable {
var id: Int {
return elementID
}
var elementID: Int
var icon: String
var title: String
var color: Color
var numbers: Int
}
在我的 MenuListElementView
中,我简单地设计了每个列表元素必须的样子。
最后,我设计了这个MenuView
现在,我想做的是在每次点击此代码时 MenuListElement
前往不同的目的地。
NavigationView{
List(MenuList.listData) { item in
MenuListElementView(item: item)
}
}
假设我想在 MenuLView
上点击 Yazarlar 时前往 AuthorView
,在点击 Arama 时前往 SearchView
。我想要 10 个不同的目的地 View
.
我修改了我的 MenuListElement
以便能够用它发送内部视图。
struct MenuListElement: Identifiable {
var id: Int {
return elementID
}
var elementID: Int
var icon: String
var title: String
var color: Color
var numbers: Int
var view: Any
}
我已将 List
视图更改为
List(MenuList.listData) { item in
Button(action: {
self.isOpen = true
}) {
MenuListElementView(item: item)
.fullScreenCover(isPresented: $isOpen) {
AnyView(_fromValue: item.view)
}
}
}
并将我的 MenuList
更改为
struct MenuList {
static let listData: [MenuListElement] = [
MenuListElement(elementID: 0, icon: Constants.IconNames.smileyFace, title: Constants.IconTitles.title1, color: Constants.Colors.gray, numbers: 2, view: MembershipView()),...
通过这种方式,每个列表元素中都有视图信息,所以通过一个按钮,我可以直接传递到我想要的视图。