SwiftUI:NavigationLink使用报错

在给NavigationLink添加destination报错Result values in '? :' expression have mismatching types 'ContentView' and 'BadgeBackground'
报错代码

NavigationLink(
      destination: model.id == 0 ? ContentView() : BadgeBackground()
) {
      Text(model.name)
}

解决方式:使用AnyView对ContentView和BadgeBackground进行转换
修正后代码:

  NavigationLink(
     destination: model.id == 0 ? AnyView(ContentView()) : AnyView(BadgeBackground())
 ) {
      Text(model.name)
}

参考链接: https://stackoverflow.com/questions/59060321/navigationlink-with-conditional-in-a-list

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容