Build a List with keyboard selection (macOS App)

Basically, what I want is something like the Apple Reminder App's reminder list.

First is the textfield, you can only edit in a textfield when you click on the text, otherwise you selected the row. However my textfield is alway in full width...

Second, you can select one reminder at one time, but with the "Command" key, you can select multiple ones.
It should also works with the "Shift" key, which allows you select multiple reminder with ease. I just can't find any tutorial relating to the keyboard... And I don't why, when I put the textfield inside List { }, the textfield looks terrible, thus I have to get rid of the List { }.


Could you explain more clearly your problems ?

First is the textfield, you can only edit in a textfield when you click on the text, otherwise you selected the row. However my textfield is alway in full width...

Is the problem that the text in the list is too large and you cannot click outside of text ?
Or something else ?
Note there is (yet another) bug in List:
SwiftUI Textfields embedded in a List are not editable when target is macOS
https://stackoverflow.com/questions/57576128/editable-textfield-in-swiftui-list

In any case, posting your code would help understand the problem.
Code Block struct Home: View {
    
    @EnvironmentObject var modelData: ModelData
    var body: some View {
        List{
            ForEach(0..<modelData.reminder_list.count) { i in
                TextField(
                    "New",
                    text: $modelData.reminder_list[i].content
                )
                .textFieldStyle(PlainTextFieldStyle())
                .font(.system(size: 16, weight: .semibold))
            }
 
        }
    }
}

Just like this, then the textfield is terrible. It seems that I can upload images. It's a macOS App, you have to click the text, and wait a second, only after that you can edit the text. About what what I want you can refer to the macOS Reminder.app

More importantly, I want the selection works with keyboard.


Build a List with keyboard selection (macOS App)
 
 
Q