How to handle missing data with KNN?

I’m working on a project related to data science. The dataset I got contains many missing values. I learned that I could handle missing values with KNN imputer but I don’t have full command of it. I tried it with one feature, but I’m confused about how can I use it with multiple features and If I have distance metrics. If I want to apply feature scaling. All of this is in my mind, but I’m unable to do it.
Can you help me in doing this? I will appreciate your efforts and knowledge.

Here’s a code that I wrote for one feature with KNN imputer.