Столбец списка SwiftUI не соответствует представлению ячейки после использования navigationLink назад - PullRequest
0 голосов
/ 23 января 2020

Я создаю Список, чтобы показать информацию о моем игроке. но мой столбец списка не соответствовал моему представлению ячейки. Текстовое поле, которое исчезает в некотором столбце. Это странно, потому что большинство из них имеет номер "-1". Кто-нибудь знает, что причина может быть причиной? Демонстрационное видео: https://youtu.be/vUo9zZZ5olo

struct SelectPlayerCellView: View {
@ObservedObject var player: PlayerGameData
@State var newuniformNumber: Int = 0

    var body: some View {


        HStack{
            Button(action: {
                self.player.isPlayer.toggle()
            }){
                if self.player.isPlayer{
                    Image(systemName: "checkmark.rectangle")
                }
                else{
                    Image(systemName: "rectangle")
                }

            }
            TextField("\(player.uniformNumber)", value: $newuniformNumber, formatter: NumberFormatter())
                .font(.system(size: 40))
                .frame(width:55)
                .padding(5)

            Text(player.name)
        }
        .padding(.horizontal,8)
        .cornerRadius(20)
}
}

Я поместил свой вид ячейки в список

struct SelectPlayerView: View {
@EnvironmentObject var teamResult : TeamResult
@ObservedObject var allPlayerList : PlayersGameData = PlayersGameData()
@State var goToNextPage : Bool = false


var selectedPlayerList : PlayersGameData = PlayersGameData()

var body: some View {
    VStack {
        List{
            ForEach(allPlayerList.playersGameDataArray, id: \.userId) { (player) in
                SelectPlayerCellView(player: player)
            }.onMove(perform: move)


        }

        NavigationLink(destination: SelectStartingLineupView(selectedPlayerList: self.selectedPlayerList).environmentObject(teamResult),isActive: $goToNextPage){
            EmptyView()
        }

        VStack (spacing: 10){

            Button(action: {

                self.createPlayersList()
                self.goToNextPage.toggle()
            }){
                Image(systemName: "arrowshape.turn.up.right.circle")
            }
        }
    }.onAppear(perform: getTeamMemberResults)
        .onDisappear(perform: clearTeamMemberResults)
        .navigationBarItems(trailing: EditButton())
}
...