How do you manipulate the style of one of the li elements that are looped out of vue v-for?

Click on a li element to appear or disappear a mask on that element, but don"t know how to dynamically bind the class name, only to that element. Now all the elements are masked with one click.
currently thinks like this:
: class= "{show:isShow + index} (this syntax is wrong, which probably means this) wants to bind index to a variable, and then add class to it to display it, but as written above, this syntax cannot achieve
. The second is to add the class name of show1/show2/show3 to each element, but this means that you have to write a lot of css: show1,show2,show3 {display:block}. If there are a lot of elements, you can"t add them all the time

.
Mar.19,2021

I hope I can help you

<li  v-for="node in nodes" :class={'active': node.actived} @click="clickNode(node)" :key="node.id">{{node.name}}</li>

data(){
    return {
        activedNode:null
    }
},
methods:{
    clickNode(node){
        this.activedNode && (this.activedNode.actived = undefined);
        node.actived = !node.actived;
        this.activedNode = node;
    }
}

after getting the data, the loop adds attributes to each item of the array json,
such as "seen": "false",
then binds to the Miki operation in class
such as < li: class= "list.seen?'masking':''" @ click= "showMasking (index)" >
and then uses the parameter index to modify the specific data you bind. Changing it to true, will add the class name, and changing it back to false will remove the class name


. Add a judgment in the

loop, and just add the class name when you need it.

for example:

<li v-for="(item,idx) in arr" :key="item.key" :class="idx === 1?'hello':'world'">
</li>
Menu