Custom block not updating unless refresh

I have a custom block preview for a local video upload. It works fine, apart from when I add or delete the video the panel preview is not updated unless I save and do a page refresh. Not sure what I am missing?

index.js (of plugin)

panel.plugin("th/vid-block", {
  blocks: {
    vid: {
      computed: {
        vid() {
          return this.content.video.length === 0
            ? false
            : this.content.video[0].url;
        },
      },

      template: `
      <div class="w-full" @click="open">
 
        
        <video muted class="w-full ">
          <source :src="vid" type="video/mp4" />
        </video>
    
       
      </div>
   
    `,
    },
  },
});

fixed with v-if:

 <video  v-if="video"  muted class="w-full ">
          <source :src="video" type="video/mp4" />
        </video>