Я хочу динамически управлять видимостью стрелок (<)
и (>)
в компоненте Vuetify карусель .
Например, чтобы последняя стрелка вправо на последнем элемент исчезает, или я могу использовать внутренние кнопки или другую интерактивность в содержимом carousel-item
для динамической замены кнопок. (Я знаю, что continuous
prop может выполнить простой конечный случай).
Документация для next-icon
и prev-icon
prop - bool
или string
, а по умолчанию указано $next
.
Name next-icon
Type boolean | string
Default $next
Description Icon used for the "next" button if show-arrows is true
Я могу сделать так, чтобы кнопка значка исчезла, установив для нее значение false
, но true
не заставляет ее появляться снова.
Я угадывание строкового значения - это имя иконки (например, md-arrow-right
?), но в документации не указано, какое значение по умолчанию, и это не работает. Я предполагаю, что «выкл» устанавливает опору на false
, а «вкл» восстанавливает ее на имя иконки.
Я также не понимаю, что означает $next
, и это не так т объяснил на странице. Это ошибки, если вы используете это в качестве значения. Все остальное, похоже, оценивается как ложное.
Я предполагаю, что это примерно так:
<template>
<v-carousel v-model="stepNo" :show-arrows="show.arrows" :next-icon="show.nextArrow" height="auto" light>
<!-- ... -->
</template>
<script>
export default {
data: () => {
return {
stepNo: 0,
show: {
arrows: true,
nextArrow: "md-arrow-right",
},
}
},
watch: {
stepNo: function(newStep, oldStep) {
// some logic here, for example
this.nextArrow = (newStep === 4) ? "md-arrow-right" : false;
},
},
//...
}
</script>
ОБНОВЛЕНИЕ
Одна из моих ошибок была md-arrow-right
должно быть mdi-arrow-right
(пропущено i
) или на самом деле mdi-chevron-right
, как отмечает tony19. Теперь я могу установить буквальный значок ОК.
Но установка $next
или $prev
по-прежнему не работает - он отображает либо ничего, и пустой круг, либо знак $, который на самом деле слово $next
. И это, похоже, «нарушает» привязку и устанавливает ее в буквальный значок после этого, не удается до перезагрузки страницы.
<i aria-hidden="true" class="v-icon notranslate material-icons theme--light" style="font-size: 36px;">$next</i>