javascript - 使用 V 形槽激活器激活按钮时出现问题

标签 javascript vue.js vuejs2 frontend vuetify.js

我在我的 Vuejs 项目中使用 v-slot:activator 和 v-btn 。它工作正常,但按钮保持悬停状态,就像被按下一样

       <v-dialog v-model="dialog" max-width="600px">
        <template v-slot:activator="{ on, attrs }">
          <v-btn color="#F65C38" dark class="mt-1 mr-2" width="209px" v-on="on" v-bind="attrs"> Example Btn </v-btn>
        </template>
        <v-card>
          <v-card-title>
            <span class="text-h5">{{ formTitle }}</span>
          </v-card-title>

          <v-card-text>
            <v-form ref="form" v-model="valid">
              <v-container>
                <v-row>
                 

                  
               
           
                </v-row>
              </v-container>
            </v-form>
          </v-card-text>

          <v-card-actions class="d-flex justify-center">
            <v-btn color="#f66037" plain @click="close" elevation="4" dark width="209" class="mb-6"> No </v-btn>
            <v-btn color="#F65C38" @click="save" dark width="209" class="mb-6"> save </v-btn>
          </v-card-actions>
        </v-card>
      </v-dialog>

数据:

dialog: false

观看:

  dialog(val) {
      val || this.close();
    },

方法:

    close() {
  this.dialog = false;
  this.$nextTick(() => {
    this.editedItem = Object.assign({}, this.defaultItem);
    this.editedIndex = -1;
  });

点击之前 enter image description here

点击后enter image description here

最佳答案

您可以使用原生 JS 方法手动移除焦点:

document.activeElement.blur()

在您的示例中,您可以将此行放入 $nextTick 中:

...
close() {
  this.dialog = false;
  this.$nextTick(() => {
    this.editedItem = Object.assign({}, this.defaultItem);
    this.editedIndex = -1;
    document.activeElement.blur()
  });
},

测试一下at CodePen .

关于javascript - 使用 V 形槽激活器激活按钮时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71393790/

相关文章:

javascript - 如何在 Canvas 底部居中放置多个 div?

javascript - 将结果从一个函数传递到 Nodejs 上的另一个函数

javascript - 如何在 Framework7 Vue 中使用身份验证

javascript - 为什么我在 jsPdf 输出上得到空白页?

javascript - d3.js - 为什么笔画会模糊,除非偏移 0.5?

javascript - Bootstrap 所需的 Assets

vue.js - Vue 项目中的 views 和 components 文件夹有什么区别?

Vue.js:用户单击按钮时加载模板(或 div)?

vue.js - 将传递的 props 绑定(bind)到数据时,VueJs 不会更新

javascript - Nuxtjs中如何读取POST请求参数?