President-elect Donald Trump says he will impose sweeping new tariffs on Mexico, Canada and China as soon as he takes office.