Flash floods and landslides triggered by Tropical Storm Jangmi have left at least 31 people dead and seven missing in the Philippines, including in areas still recovering from last year's Typhoon Haiyan.

Jangmi, packing winds of 40mph and gusts up to 50mph, dumped heavy rain on southern Mindanao Island, where floods destroyed bridges and roads, forcing thousands of residents into evacuation centres.

The storm then pushed its way through eastern and central islands where most of the deaths occurred today.

The government weather bureau said the eye of the storm was south-west of central Iloilo City, moving west at 12mph towards western Palawan Island.

Mayor Stephanie Uy-Tan said 12 people died when a landslide buried two vans and six houses near a mountainside road in eastern Catbalogan City. She said voices could still be heard from one of the vans and that rescue efforts were continuing.

Olive Luces, a regional civil defence official, said 11 members of a family died after a creek-side house where they had gathered was washed away by flash floods in central Cebu province. Six other people were missing in the same town.

In eastern Leyte province's Tanauan town, which was devastated last year by Typhoon Haiyan, army rescuers retrieved five bodies from a house buried by a landslide.

A 65-year-old man drowned in southern Compostela Valley province, while another resident remains missing after crossing a swollen river.

In central Bohol province, an 80-year old man drowned, while a 10-year-old girl died in a landslide that hit her home in southern Butuan City, officials said.

ends