用例非常简单。我有一个地方列表,每个地方都对应一个地理围栏。我需要在用户所在的地理围栏的特定行中启用导航。并且列表是动态的,并且是从API获取的。关于Stackoverflow也有类似的问题,但这些仅解决静态列表。
我尝试使用bool字典,但无法使其工作。
这是简化的模拟代码:
template<typename T>
concept Matrix = requires (T a, int b, int c) {
{a(b, c)} -> std::convertible_to<double>;
{a.size1()}->std::convertible_to<size_t>;
{a.size2()}->std::convertible_to<size_t>;
};
我收到此错误:无法将类型'Binding
注意:在接收带有onRecieve修饰符的allItem时,我已经在键值对中填充了navActive字典
答案 0 :(得分:4)
这是针对您的用例的一种可能的方法
struct ListView: View {
// ... your view model defined here
@State private var selectedItem: UUID? = nil
var body: some View {
List (viewModel.allItems, id: \.id) { item in
Text(item.name)
.onTapGesture {
self.selectedItem = item.id
}
.background(
NavigationLink(destination: DetailView(item), tag: item.id,
selection: $selectedItem) { EmptyView() }
.buttonStyle(PlainButtonStyle())
)
}
}
}