Репликация WhatsApp салфетки между переходами вкладок в VueJS/VuetifyJS

Я использую платформу VuetifyJS для VueJS и хочу повторить переход между вкладками, который использует WhatsApp для Android.

Вы можете провести в WhatsApp влево или вправо, и вы увидите новый раздел while, который вы проводите. В VuetifyJS вы не видите содержимое вкладок until, вы завершили пролистывание. Я сделал CodePen пример того, что у меня есть: https://codepen.io/anon/pen/GdbxoL?&editors=101

Как показать содержимое вкладки , когда проводите по ней?

Изменение: решение, которое работало для меня это Flickity: https://flickity.metafizzy.co/

Ответ 1

Вам нужно использовать директиву v-touch для захвата жестов салфетки и после того, как вы сможете выполнить способ перехода на следующую вкладку или предыдущую.

EDIT: Это пример использования директивы v-touch с вкладками

<div id="app">
  <v-app id="inspire">
    <div>
      <v-tabs
        v-touch="{
        left: () => assignSwipeValue('Left'),
        right: () => assignSwipeValue('Right')
        }"
        v-model="active"
        color="cyan"
        dark
        slider-color="yellow"
      >
        <v-tab
          v-for="n in 3"
          :key="n"
          ripple
        >
          Item {{ n }}
        </v-tab>
        <v-tab-item
          v-for="n in 3"
          :key="n"
        >
          <v-card flat>
            <v-card-text>{{ text }}</v-card-text>
          </v-card>
        </v-tab-item>
      </v-tabs>

      <div class="text-xs-center mt-3">
        <v-btn @click.native="next">next tab</v-btn>
      </div>
    </div>
  </v-app>
</div>

JS

new Vue({
  el: '#app',
  data () {

    return {
      active: null,
      text: 'Swipe Example With Tabs'
    }

  },

  methods: {
    next () {
      const active = parseInt(this.active)
      this.active = (active < 2 ? active + 1 : 0).toString()
    },

    assignSwipeValue(direction) {
      this.next()
    }
  }
})

Вы можете увидеть живую демонстрацию Здесь, но вам нужно открыть с мобильного устройства, салфетка с мышью не работает.