JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@1.5.12/dist/vuetify.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vuetify@1.5.12/dist/vuetify.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons">
<div id="app">
  <v-app id="inspire">
    <div>
      <v-list>
        <template v-for="n in items">
          <v-list-tile @click="n.show = !n.show">
            <v-icon :class="n.show ? 'active primary--text' : ''">arrow_drop_down</v-icon>
            <v-list-tile-title>Click to open {{ n.id }}</v-list-tile-title>
          </v-list-tile>
          <v-expand-transition>
            <div v-if="n.show">
              Lorem ipsum dolor sit amet consectetur adipisicing elit. Est earum, vel, deleniti aliquam minima quae odit, temporibus velit odio impedit rem. Inventore perferendis quo rerum dolorem rem ea dolores velit aut possimus. Consectetur, corrupti vel animi culpa in adipisci ipsum placeat rem minus sapiente! Provident praesentium mollitia quia similique dicta. Inventore perferendis quo rerum dolorem rem ea dolores velit aut possimus. Consectetur, corrupti vel animi culpa in adipisci ipsum placeat rem minus sapiente! Provident praesentium mollitia quia similique dicta. Lorem ipsum dolor sit amet consectetur adipisicing elit. Est earum, vel, deleniti aliquam minima quae odit, temporibus velit odio impedit rem. Inventore perferendis quo rerum dolorem rem ea dolores velit aut possimus. Consectetur, corrupti vel animi culpa in adipisci ipsum placeat rem minus sapiente! Provident praesentium mollitia quia similique dicta. Inventore perferendis quo rerum dolorem rem ea dolores velit aut possimus. Consectetur, corrupti vel animi culpa in adipisci ipsum placeat rem minus sapiente! Provident praesentium mollitia quia similique dicta.
              Lorem ipsum dolor sit amet consectetur...

CSS

.active {
  transform: rotate(180deg);
}

JavaScript

new Vue({
  el: '#app',
  data: {
    items: [...Array(3)].map((n, i) => ({ id: i + 1, show: false })),
  },
});