How to arrow toggle up and down? Vue

你离开我真会死。 提交于 2021-01-28 09:47:57

问题


How do I change the up and down arrow icon at a click? I want to click to activate up or down class.

<div class="base-box base-box__accordion-sec"  @click="arrowToggle()">
<i   class="arrow down"> </i>
</div>


isToggled: false


arrowToggle(event) {
this.isToggled = !this.isToggled;
}

.down {
  transform: rotate(45deg);
}
.up {
  transform: rotate(-135deg);
}

回答1:


<i v-bind:class="{ 'down': isToggled, 'up': !isToggled }" class="arrow"> </i>

https://vuejs.org/v2/guide/class-and-style.html




回答2:


<template>
  <div>
    <div v-for="item in items">
      <div @click="item.isToggle = !item.isToggle>
        <i :class="{ 'down': item.isToggled }" class="arrow"> </i>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data () {
    return {
      items: []
    }
  },
  mounted () {
    const itemsFromApi = [ ... ]
    this.items = itemsFromApi.map(item => {
      item.isToggle = false
      return item
    })
  }
}
</script>

<style>
.arrow {
  transform: rotate(-135deg);
}
.arrow.down {
  transform: rotate(45deg);
}
</style>


来源:https://stackoverflow.com/questions/60328841/how-to-arrow-toggle-up-and-down-vue

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!