Small program can not exist on a page more than a video component, otherwise it will play the video has been in the loading phenomenon. Therefore, I changed the method to display the image of the poster when it is not played, and switch it to video when I click it to ensure that there is only one video on the page

//wxml <block wx:for="videoList" wx:key="id"> <image wx:if="{{videoId! =item.id}}" catchtap="playVideo" data-video="{{item.id}}" src="/images/video-poster.png" ></image> <video wx:else SRC ='{{item.video}}' object-fit="cover" autoplay></video> </block> //videoId //autoplay makes sure that video is played //js when video is played VideoId playVideo(e){var {video:videoId} = e.currenttarget.dataset; this.setData({ videoId }) }