Dear Student,
ZnO is neither purely ionic nor purely covalent. It lies on the borderline between ionic and covalent solids. Zn is a transition metal, and therefore forms ionic oxide with O2-.
However, due to strong polarising power of the oxide ion, the Znā2+ ion gets polarised, and covalent character is induced in the compound. Hence, ZnO becomes partly covalent.
Whether a metal or non metal will form a covalent compound can be predicted according to Pauling scale of electronegativity or Fajan's rule.