If you had a table for using its responsibility, instead of using this approach
<div class="w-full overflow-x-auto">
<table class="w-full">
<tbody>
<nuxt-link
v-for="(item, index) in tableItems"
:key="index"
to="/somewhere"
tag="tr"
class="
duration-300
rounded
whitespace-nowrap
border-b-2 border-gray-200 border-transparent
cursor-pointer
hover:bg-gray-50
"
@click.native="doSomething"
>
<td class="py-2 w-1/3">
<img src="~/assets/images/img.jpg" />
</td>
<td class="py-2 w-1/3">
<p>Something 1</p>
</td>
<td class="py-2 w-1/3">
<p>Something 2</p>
</td>
</nuxt-link>
</tbody>
</table>
</div>
that will warn you, and if you do use the @tony19 approach might break line and ruin the responsibility of the table, instead of the @tony19 approach and above do like this:
<div class="w-full overflow-x-auto">
<table class="w-full">
<nuxt-link
v-for="(item, index) in tableItems"
:key="index"
to="/somewhere-good"
@click.native="doSomething"
>
<tbody>
<tr
class="
duration-300
rounded
whitespace-nowrap
border-b-2 border-gray-200 border-transparent
cursor-pointer
hover:bg-gray-50
"
>
<td class="py-2 w-1/3">
<img src="~/assets/images/img.jpg" />
</td>
<td class="py-2 w-1/3">
<p>Something 1</p>
</td>
<td class="py-2 w-1/3">
<p>Something 2</p>
</td>
</tr>
</tbody>
</nuxt-link>
</table>
</div>
I did use nuxt.js tag link which is nuxt-link but it will be alright if you use router-link too, and as probably you know my element classes are tailwindcss
Note: remove .native if your click event did not work.
EDIT: it would be better to use the natural structure of the table without a or nuxt-link for navigating, and instead use router.push