Cesar Milan is 100% correct on a lot of this .....
Don't focus on her behaviour with other dogs, that isn't the problem, the problem is that she doesn't recognise that you are the leader, focus on getting her to know you are the leader, create a healthy respectful relationship and her behaviour to other dogs will be under your control, not hers.
She doesn't want to be the leader (you would know if she did and the least of your problems would be other dogs), don't treat her as the leader, give her a leader she can trust to be consistent.
Small dogs are harder to train, a short lead is longer with a small dog, you have to to "bow down" to touch them, you are more distant from them etc. If there are more problems than just other dogs be aware that some dogs are psychotic and this is more prevalent in small dogs. While it is not be the dog's fault that they are psychotic it becomes your problem and normal levels of training might not be successful. I got a tooth right rough a fingernail after disregarding and laughing off two other people's diagnosis after I thought I was making progress.
Short lead walking is often the key, you walk, she walks, you stop, she stops, be solid, don't stop and let her get ahead when you stop, reward when she stops correctly. Getting her to automatically sit when you stop is a further step, simply stop and push her back-end down with a very slight pinch on the waist while raising her chin, wait, then reward. Stopping abruptly which I see people do is not a good thing, you are trying to train them to trust you, not catch them out, sure do it occasionally as reinforcement but not as part of regular training.
All lead training should be on a short lead, putting them in the classroom so to speak. I like to have both an extending lead and a normal leash, if the dog isn't doing what I expect whether in a training session or not, the normal leash is clipped on, it is not a punishment, it is a non-verbal reminder, a dog that trusts you will not be concerned which lead you are using or whether it is put on the lead. Using an extending lead even when locked is useless as a short lead, it just doesn't work. Short lead is the two handed method, handle in one hand and crossing your body to the other hand. Some people are adamant to always have the dog on one specific side of you, I prefer to keep this flexible so the dog is used to being either side of you when on the lead although I can see their argument as well. Off the lead I prefer the dog to naturally be on my right side when called to heel, if I struggle for this to happen I become a bit stricter with one-siding when on the lead.
Sit and stay is the first thing I teach, obviously you can't train this with other dogs around but get her to sit and stay seated when you walk away, initially do it by backing away and repeating commands and hand gestures and rewards afterwards, the dog should be focused on you, keep their attention while training. Eventually they will happily sit and stay while they look around but don't let that happen early. Preferably don't call then to heel after sit and stay, you walk back to them to reward, the reward is for staying not coming to heel - this is one of the biggest mistakes I see people do, even professional trainers. Eventually you get them to sit and stay from a distance, again you need to walk to them to reward.
When you have the basics of walking, stopping and staying then is the time to do other things such as getting her used to other dogs. Other owners generally will help you if both dogs are kept on the lead and you appear in some sort of control. Start at a distance and get closer over time, walk away (on a short lead as always) if things get wild, get her to sit then try again, reward at each successful distance, even if it is 30ft away.
Calling to heel will nearly always happen naturally after you have established leadership, it is not necessary to specifically train and is counter productive to the sit and stay training which is more important because it is less natural.
I don't use food/treats as rewards, I use attention and petting, personal choice but I find them to be less dependent on the reward in the long term, you don't want to have to feed them treats every time indefinitely.
One word commands are important, they don't know the difference between words and sentences .... "sit down", "I told you to sit", "sit there", "sit stay" and "sit and stay" are five separate and different words/commands to a dog in training, just use "sit" and use "stay" separately when required. Be careful how you use the dogs name, I prefer it to just get their focus on me but sometimes it ends up the same as come (I use come-here), try not to mix it with other commands "rover sit" and "sit rover" are yet two new commands.
Dogs are big on gestures (they don't talk, they read body language), use commands and gestures together while training, eventually you will be able to use either, be very careful that a specific gesture is not used with a different command making a very confusing instruction. Unlike commands, you can combine gestures because that is more dog-speak but as humans we are not very good at gesturing. and being consistent is difficult. A lot of dog training problems are down to inconsistent body language, it is hard, we use subconscious body language, we are rubbish at controlling it meaningfully (especially if your name is Amber). Exaggerated body language is easier for us but people don't like to windmilll in public however if you watch dog walkers in open areas that are having a great time with their well behaved dogs, they are often the ones using big visible gestures.
Now if anyone can help me train a cat who pesters you to open a door then have you wait seven minutes for them to saunter through
Give me a medium dog any day.