取消导航目标时删除单元格突出显示

时间:2020-10-15 21:01:33

标签: ios swift swiftui swiftui-navigationlink

我正在SwiftUI中建立一个简单的可搜索列表。

struct SearchView: View {
    
    @ObservedObject var productFinder = ProductFinder.init()
    
    var body: some View {
        NavigationView {
            VStack {
                TextField("Søg...", text: $productFinder.searchQuery)
                    .textFieldStyle(RoundedBorderTextFieldStyle())
                    .padding(.horizontal, 18)
                List(productFinder.filteredProducts) { product in
                    NavigationLink(
                        destination: ProductView(product: product),
                        label: { ProductCell(product: product) }
                    )
                }
            .navigationBarTitle("Søg efter produkt")
        }
    }
}

点击一个单元格时,将按预期方式推送DestinationView(ProductView),并突出显示该单元格。但是在关闭DestinationView之后,该单元格将保持突出显示状态,直到我按下另一个单元格为止。

cell keeps highligted

我希望当单元被解散时,突出显示会消失。

我尝试过:

  • .buttonStyle(PlainButtonStyle())NavigationLink上设置ProductCell->无效
  • tag上设置selectionNavigationLink参数->无效
  • UITableView.appearance().allowsSelection = false的{​​{1}}中设置UITableViewCell.appearance().selectionStyle = .noneSearchView->无效
  • 删除派生数据,清理项目并重新构建->无效

0 个答案:

没有答案