当前位置: 首页 > 知识库问答 >
问题:

vue3弹窗问题?

鄂伟兆
2023-06-21

大佬们,为什么测试环境会报dialogVisible is not defined?

// 页面
<changePopup v-model:dialogVisible="dialogVisible" :changeHint="changeHint" @confirm="confirm"></changePopup>

// 是否弹窗
let dialogVisible = ref(false);

// 组件
        <el-dialog v-model="dialogVisible" :title="changeHint.title" width="30%" destroy-on-close :show-close="false"
            :close-on-click-modal="false">
            <template #footer>
                <el-button class="closePopup" v-if="changeHint.type == 1" @click="close">关闭</el-button>
            </template>
        </el-dialog>

const props = defineProps({
    dialogVisible: {
        type: Boolean,
        default: false
    },
    changeHint: {
        type: Object,
        default: {
            type: '', // 类型  1 不可变更   2 变更费用信息
            title: '', // 标题
            hintData: {} // 提示数据
        }
    }
})
const emits = defineEmits(["update:dialogVisible", "confirm"]);
function close() {
    emits("update:dialogVisible", false);
}

共有2个答案

龚勇锐
2023-06-21

因为你在子组件中使用了变量dialogVisible,但是却没有声明它,子组件中只有props.dialogVisible

蓝恩
2023-06-21
// 页面
<changePopup v-model:dialogVisible="dialogVisible" 
  @updatedialogVisible='updatedialogVisible'  :changeHint="changeHint" @confirm="confirm"></changePopup>

// 是否弹窗
let dialogVisible = ref(false);
cosnt updatedialogVisible=(e)=>{
dialogVisible .value=e
}

// 组件
        <el-dialog v-model="dialogVisible" :title="changeHint.title" width="30%" destroy-on-close :show-close="false"
            :close-on-click-modal="false">
            <template #footer>
                <el-button class="closePopup" v-if="changeHint.type == 1" @click="close">关闭</el-button>
            </template>
        </el-dialog>

const props = defineProps({
    dialogVisible: {
        type: Boolean,
        default: false
    },
    changeHint: {
        type: Object,
        default: {
            type: '', // 类型  1 不可变更   2 变更费用信息
            title: '', // 标题
            hintData: {} // 提示数据
        }
    }
})
const emits = defineEmits(["updatedialogVisible", "confirm"]);
function close() {
    emits("updatedialogVisible", false);
}

 类似资料:
  • 文字提示(带标题) <div class="ui-dialog show"> <div class="ui-dialog-cnt"> <div class="ui-dialog-bd"> <h3>下线通知</h3> <p>你的账号于17:00在一台Android手机登录。如非本人操作,密码可能已泄露,建议立即冻结账号。

  •  说明 调用方法: $.f2e.util.dialog.open(options) //创建弹窗 $.f2e.util.dialog.close() //关闭弹窗 函数说明: 弹窗 参数说明: 参数名 类型 说明 备注 width int 宽度 无 height int 高度 无 mask boolean 是否显示蒙层 默认 true close boolean 是否显示关闭按钮 默认 true

  • dialog组件使用visible这个prop开控制显示,监听visible赋值给visibleMe v-if=“visibleMe”的方式打开关闭弹窗 关闭的时候令visibleMe=false,但是因为visible是prop,不可以在这个组件内更改,所以visible还是true 所以下次调用它的组件再把visible改成true的时候,并不会触发watch 怎么通过只改dialog组件的代

  • main.js import Vue from "vue"; import { Dialog } from "feui"; window.Dialog = Dialog; 代码演示 消息提示 Dialog.alert({ title: title, skin: skin, message: "弹窗内容", confirmButtonText: "确实" }).th

  • 本文向大家介绍Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案,包括了Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案的使用技巧和注意事项,需要的朋友参考一下 最近一直在使用Bootstrap,遇到了很多问题,通过google也明白了很多,学习了很多。针对‘Bootstrap modal 多弹窗之叠加显示不出弹窗问题'说一下自己的解决办法。 当然还是官方