当我在文本字段中编辑文本时,NavigationLink会激活

时间:2019-08-08 07:29:31

标签: swift swiftui

每次我编辑文本字段时,都会调用getSearchResult。 仅当我按下“搜索”按钮时才应该调用getSearchResult?

Contentview的一部分:

NavigationLink(destination: SearchResultList(text: setQuery(text))){
    TextField("text~", text: $text)
    Text("Search")
}

SearchResultList的一部分:

struct SearchResultList: View {
    @State var text: String
    @State var result = Result(sSearchResult: getSearchResult(query: query) as! SearchResult)

    var body: some View {

    }
}

每次文本字段更改时搜索数据都会导致严重的速度问题

1 个答案:

答案 0 :(得分:0)

TextField的内容中不要包含NavigationLink。以下代码将为您工作:

HStack {
    TextField("text~", text: $text)
    NavigationLink(destination: DetailsView(tech: techCollection[0])){
        Text("Search")
    }
}