Vuetify - популярный UI-фреймворк для приложений Vue.

В этой статье мы рассмотрим, как работать с фреймворком Vuetify.

Отключенный слайдер

Мы можем отключить ползунок с помощью опоры disabled:

<template>
  <v-container>
    <v-row>
      <v-col col="12">
        <v-slider disabled label="Disabled" value="30"></v-slider>
      </v-col>
    </v-row>
  </v-container>
</template>
<script>
export default {
  name: "HelloWorld",
  data: () => ({}),
};
</script>

Ползунок только для чтения

Ползунок также можно отключить с помощью свойства readonly. Разница между disabled и readonly в том, что слайдер только для чтения выглядит обычным.

Например, мы можем написать:

<template>
  <v-container>
    <v-row>
      <v-col col="12">
        <v-slider readonly label="Disabled" value="30"></v-slider>
      </v-col>
    </v-row>
  </v-container>
</template>
<script>
export default {
  name: "HelloWorld",
  data: () => ({}),
};
</script>

Иконки

Иконки можно добавлять в слайдер.

Например, мы можем написать:

<template>
  <v-container>
    <v-row>
      <v-col col="12">
        <v-slider v-model="sound" prepend-icon="mdi-plus"></v-slider>
      </v-col>
    </v-row>
  </v-container>
</template>
<script>
export default {
  name: "HelloWorld",
  data: () => ({
    sound: 0,
  }),
};
</script>

чтобы добавить значок слева от ползунка с опорой prepend-icon.

Мы можем сделать то же самое с опорой append-icon, чтобы добавить значок справа.

Кроме того, мы можем прослушивать щелчки по значкам с помощью директив @click:append и @click:prepend.

Например, мы можем написать:

<template>
  <v-container>
    <v-row>
      <v-col col="12">
        <v-slider
          v-model="zoom"
          prepend-icon="mdi-minus"
          append-icon="mdi-plus"
          @click:append="zoomIn"
          @click:prepend="zoomOut"
        ></v-slider>
      </v-col>
    </v-row>
  </v-container>
</template>
<script>
export default {
  name: "HelloWorld",
  data: () => ({
    zoom: 100,
  }),
  methods: {
    zoomOut() {
      this.zoom = this.zoom - 10 || 0;
    },
    zoomIn() {
      this.zoom = this.zoom + 10 || 100;
    },
  },
};
</script>

Мы устанавливаем методы zoomIn и zoomOut в качестве значений директив для изменения значения this.zoom и значения ползунка.

Вертикальные слайдеры

Опора vertical заставляет слайдер отображаться вертикально.

Например, мы можем написать:

<template>
  <v-container>
    <v-row>
      <v-col col="12">
        <v-slider v-model="value" vertical label="Regular"></v-slider>
      </v-col>
    </v-row>
  </v-container>
</template>
<script>
export default {
  name: "HelloWorld",
  data: () => ({
    value: 100,
  }),
};
</script>

Большой палец

Мы можем отобразить метку для точки ползунка.

Например, мы можем написать:

<template>
  <v-container>
    <v-row>
      <v-col col="12">
        <v-slider v-model="value" thumb-label="always"></v-slider>
      </v-col>
    </v-row>
  </v-container>
</template>
<script>
export default {
  name: "HelloWorld",
  data: () => ({
    value: 100,
  }),
};
</script>

Опора thumb-label отображает ползунок.

Мы можем добавить собственный ярлык, заполнив слот thumb-label:

<template>
  <v-container>
    <v-row>
      <v-col col="12">
        <v-slider v-model="value" thumb-label="always">
          <template v-slot:thumb-label="{ value }">{{ value }}</template>
        </v-slider>
      </v-col>
    </v-row>
  </v-container>
</template>
<script>
export default {
  name: "HelloWorld",
  data: () => ({
    value: 100,
  }),
};
</script>

Заключение

Мы можем добавить ползунки, чтобы пользователи могли устанавливать желаемое значение.