是否可以在 SwiftUI 中突出显示鼠标悬停时的行

Is it possible to highlight row on mouse hover in SwiftUI

我正在尝试创建一个列表,其中的行会在鼠标经过时更改背景颜色。但是使用当前代码,所有行都在悬停时突出显示。

struct ContentView: View {
    @State private var overText = false
    
    var body: some View {
        
        List{
            ForEach(0 ..< 3){ item in
                Row(text: "hhaha")
                        .background(Color(overText ? .systemBlue : .clear))
                        .onHover(perform: { hovering in
                            overText.toggle()
                        })
            }
        }
     
    }
}

这是当前结果

这就是我想要实现的目标

是的,因为布尔值对所有行都进行了切换,所以我们需要存储悬停项,例如

struct ContentView: View {
    @State private var overText = -1
    
    var body: some View {
        
        List{
            ForEach(0 ..< 3){ item in
                Row(text: "hhaha")
                        .background(Color(overText == item ? .systemBlue : .clear))
                        .onHover(perform: { hovering in
                            overText = item
                        })
            }
        }
    }
}