I use headless ui in vue 3 and i want to make when disclosure open it have border-primary
class.
here is my current code :
<div class="w-full px-4 pt-16">
<div class="w-full max-w-4xl p-2 mx-auto bg-white rounded-2xl space-y-2">
<disclosure
v-for="(item,i) in contents"
v-slot="{ open }"
:key="i"
as="div"
class="border-2 border-transparent transition duration-500 hover:border-primary rounded-xl group"
:class="[open ? 'border-primary' : '']"
>
<disclosure-button
class="flex justify-between w-full px-4 py-5 text-2xl font-[futura\_round\_medium] transition duration-500 group-hover:text-primary"
:class="[open ? 'text-primary' : '']"
>
<span v-text="item.question" />
<i-mdi-chevron-up
:class="open ? 'transform rotate-180' : ''"
class="text-2xl"
/>
</disclosure-button>
<disclosure-panel class="px-5 pb-3 text-xl font-[futura\_round\_regular]" v-html="item.answer" />
</disclosure>
</div>
</div>
as you can see i already tried use :class="[open ? 'border-primary' : '']"
in <disclosure></disclosure>
but it don't work and gave me error like this Block-scoped variable 'open' used before its declaration.
in my vscode
how do i use open
value in <disclosure></disclosure>
?