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>
Заключение
Мы можем добавить ползунки, чтобы пользователи могли устанавливать желаемое значение.