选择菜单项SwiftUI时如何打勾
我试图在选中菜单项时打勾。我试图给出@State var selectedSort:Int=.zero并给出id(selectedSort),但没有成功。我怎样才能解决这个问题 这是我的密码选择菜单项SwiftUI时如何打勾,swiftui,checkmark,Swiftui,Checkmark,我试图在选中菜单项时打勾。我试图给出@State var selectedSort:Int=.zero并给出id(selectedSort),但没有成功。我怎样才能解决这个问题 这是我的密码 struct SortMenuPickerView : View { @Binding var sortClicked : Bool @ObservedObject var productListViewModel = ProductListViewModel() @State var sortListA
struct SortMenuPickerView : View {
@Binding var sortClicked : Bool
@ObservedObject var productListViewModel = ProductListViewModel()
@State var sortListArray : [ProductListSortAndFilterList]
var function: () -> Void
@Binding var sortId : String
var body : some View {
HStack(alignment: .center){
Spacer()
Menu {
ForEach(sortListArray,id:\.id){ item in
if item.id == "sort" {
ForEach(item.sortList ?? [],id:\.id) { data in
Button(action: {
sortId = (data.id ?? "")
self.function()
print("selected item is : \(data.id!)")
}) {
Text(data.name ?? "")
.tag(data.id)
}
}
}
}
} label: {
SortView()
}
尝试picker风格的菜单,可根据您的要求进行定制 其示例如下:
@State private var sort: Int = 0
var body: some View {
NavigationView {
Text("Hello World!")
.toolbar {
ToolbarItem(placement: .primaryAction) {
Menu {
Picker(selection: $sort, label:Text("Sortingoptions")) {
Text("Sort1").tag(0)
Text("Sort2").tag(1)
Text("Sort3").tag(2)
}
}
label: {
Text("Sort")
}
}
}
}
}