vue.js - 从脚本标签内的方法关闭 v-edit-dialog

标签 vue.js vuetify.js

我有带自定义插槽的 v-edit-dialog。我希望 v-edit-dialog 从对话框输入槽内的按钮触发的方法关闭。

目前我必须在对话框外按下才能关闭它 我到处搜索,没有找到任何关于那个特定问题的信息

<v-edit-dialog
              @click.native.stop
            >
              {{ channel.Options}}
              <template v-slot:input>
                <v-select
                  ref="option-select"
                  :data-key="index"
                  :items="index == 0 ? options: [...options, 'Disable Channel']"
                >
                </v-select>
                <v-col class="text-right pa-0 ma-0 mb-2">
                  <v-btn color="primary" outlined @click="handleOptionChange(index)"
                    >Apply</v-btn
                  >
                </v-col>
              </template>
</v-edit-dialog>

<script>
   export default {
        ...
        methods: {
            handleOptionChange(index){
                ...
                //Close v-edit-dialog
            }
        }
   }
</script>

最佳答案

我没有看到关闭对话框的显式 API。

解决方法是以编程方式单击表格以模拟外部单击,这将自动关闭对话框:

<template>
  <v-data-table ref="myTable">
    <template v-slot:input>
      <v-btn @click="closeDialog">Close</v-btn>
    </template>
  </v-data-table>
</template>

<script>
export default {
  methods: {
    closeDialog() {
      // simulate outside-click to close edit-dialog
      this.$refs.myTable.$el.click()
    },
  }
}
</script>

demo

关于vue.js - 从脚本标签内的方法关闭 v-edit-dialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65919582/

相关文章:

vue.js - Vuejs : How to get computed property in created hook

typescript - Vue - vuetify - 对象字面量只能指定已知属性, 'vuetify' 不存在于类型 'ComponentOptions<Vue, DefaultData<Vue>

vue.js - 具有 vuetify 依赖项的 Vue 库

javascript - 传递激活器槽

responsive-design - Vuetify.js 响应式 v-toolbar 不触发打开/关闭事件

javascript - 如何从控制台修改 Vue.js 输入元素值

typescript - 使用 Firebase config.ts 文件设置 Vue 3 + Quasar 时,出现 eslint 错误 : Unsafe assignment of an `any` value

javascript - 在 v -for 循环中分别对每个元素进行动画处理 (Vue.JS)

javascript - 在 vue 中的 Promise 中传递数据

vue.js - 错误 : "You may need an additional loader to handle the result of these loaders."