Je développe une application utilisant l'API de composition de VueJS. J'ai configuré un élément réactif comme indiqué ci-dessous
const sections = réactif({ section1 : vrai, section2 : faux, section3 : faux, section4 : faux, section5 : faux, section6 : faux })Lorsque l'on clique sur chaque bouton de la page, je souhaite afficher et masquer les éléments individuels (parmi de nombreuses autres opérations) en fonction de leurs valeurs booléennes. Je pourrais écrire une fonction pour chaque bouton qui configure tout individuellement comme vous le voyez dans ce code
const section1Button= () => sections.section1 = vrai, sections.section2 = faux, sections.section3 = faux, sections.section4 = faux, sections.section5 = faux, sections.section6 = faux } const section2Button= () => sections.section1 = faux, sections.section2 = vrai, sections.section3 = faux, sections.section4 = faux, sections.section5 = faux, sections.section6 = faux }Cela fonctionne certainement, mais cela signifie que je dois écrire plusieurs fonctions avec un seul changement. Existe-t-il un moyen plus efficace d’accomplir cette tâche ? J'ai l'impression que je devrais pouvoir le faire avec une boucle ou une instruction if, mais je n'y pense tout simplement pas. Ceci est mon premier article sur stackoverflow, merci de me faire savoir si je n'ai pas fourni suffisamment de détails.
Vous pouvez essayer d'utiliser
Array.prototype.reduce
和Object.entries
来循环遍历sections
的键/值对,并根据需要设置true
/false
,从而创建一个新的sections
object comme ceci :Si vous constatez que vous devez modifier directement les propriétés, vous pouvez utiliser
Array.prototype.forEach
:J'espère que cela aide !