【问题标题】:customize navigation buttons in vuetify slide group自定义 vuetify 幻灯片组中的导航按钮
【发布时间】:2021-09-17 17:44:38
【问题描述】:

我正在尝试使用以下新按钮覆盖 vuetify 幻灯片组附带的默认导航按钮。

<v-btn @click="clickLeft" v-if="isPreviousBtnDisable">
  disable left
</v-btn>
<v-btn @click="clickLeft" v-else>
  enable left
</v-btn>
<v-btn @click="clickRight" v-if="isNextBtnDisable">
  disable right
</v-btn>
<v-btn @click="clickRight" v-else>
  enable right
</v-btn>
data() {
   return {
    previousButton: "",
    nextButton: "",
    isPreviousBtnDisable: true,
    isNextBtnDisable: false,
   };
},
mounted() {
  this.checkNavBtnStatus();
},
methods: {
  checkNavBtnStatus() {
    this.previousButton = document.querySelector(".v-slide-group__prev");
    this.nextButton = document.querySelector(".v-slide-group__next");
    this.isPreviousBtnDisable = this.previousButton.className.includes("disabled");
    this.isNextBtnDisable = this.nextButton.className.includes("disabled");
  },
  clickLeft() {
    this.previousButton.click();
    this.checkNavBtnStatus();
  },
  clickRight() {
    this.nextButton.click();
    this.checkNavBtnStatus();
  }
}

在上面的代码中,我试图根据幻灯片组的上一个和下一个按钮状态更改按钮的文本。即使幻灯片导航正确发生按钮的文本更改也无法正常工作。有什么办法可以解决这个问题?

【问题讨论】:

    标签: javascript vue.js slider vuetify.js


    【解决方案1】:

    您可以使用 Vue “Mustache”语法,而不是每边使用 2 个按钮:

    <v-btn @click="clickLeft">
      {{ isPreviousBtnDisable? 'disable' : 'enable' }} left
    </v-btn>
    <v-btn @click="clickRight">
      {{ isNextBtnDisable ? 'disable' : 'enable' }} right
    </v-btn>
    

    【讨论】:

    • 这也行不通。问题是我认为,如果我们得到实际导航按钮的副本,dom 不会正确更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 2017-12-29
    • 1970-01-01
    • 2023-03-21
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多