vue3自定义dialog createApp setup语法组件使用element

这篇具有很好参考价值的文章主要介绍了vue3自定义dialog createApp setup语法组件使用element。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

vue3自定义dialog createApp setup语法组件使用element,vue.js,前端,javascript

 index.vue

<template>
  <el-dialog
    center
    v-model="isVisible"
    width="650px"
    :title="title"
    :append-to-body="true"
  >
  <div id="dialogMap_container"></div>
    <template #footer>
      <span class="dialog-footer">
        <el-button @click="cancel()">取消</el-button>
        <el-button type="primary" @click="comfirm"> 确认 </el-button>
      </span>
    </template>
  </el-dialog>
</template>

<script setup>

import { shallowRef } from "@vue/reactivity";
import { ref, onMounted, onUnmounted, nextTick, computed, watch } from "vue";

import { defineProps, defineExpose, defineEmits } from "vue";
const isVisible = ref(false);
let map = shallowRef(null);
let amap = shallowRef(null);
const { title, position } = defineProps({
  title: {
    type: String,
    default: "标题",
  },
  position: {
    type: String,
    default: "文本",
  },
});
// 定义emits
const emit = defineEmits(["comfirm", "closed"]);
function comfirm() {
  isVisible.value = false;
  emit("comfirm", "地图经纬度");
}
function cancel() {
  isVisible.value = false;
  emit("closed", "地图经纬度2");
}
function init(params) {
  isVisible.value = true;
}

onMounted(() => {
  init();

});
</script>

<style scoped>
#dialogMap_container{
width: 600px;
height: 400px;
}
</style>

mapDialog.js文章来源地址https://www.toymoban.com/news/detail-619515.html


import menuElement from "./index.vue";
/* myMsgBox.js */
import ElementPlus from 'element-plus';
import {
    h,
    ref,
    createApp
} from "vue";

export const addMenu = function ( title, position) {
    return new Promise((resolve, reject) => {
     
        let mymenuRef = ref();
  
        const mountNode = document.createElement('div');

        document.body.appendChild(mountNode);

        const app = createApp({
            render() {

                return h(menuElement, {
                    ref: mymenuRef,
                    // 参数
                    title: title,
                    position: position,
                    // 事件
                    onComfirm: (data) => {
                        resolve(data);
                    },
                    onClosed: () => {
                       
                        setTimeout(() => {
                            mountNode.remove();
                        }, 500);
                        reject();

                    }
                })
            }
        });
        // 由于内部使用了el-dialog所以必须挂载否则解析错误
        app.use(ElementPlus);
      
        let instance = app.mount(mountNode);

    })
}

到了这里,关于vue3自定义dialog createApp setup语法组件使用element的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3+element-plus Dialog对话框的使用 与 setup 写法的使用

    一. 传统写法不使用setup语法糖 方式一:通过 v-model 的方式实现子组件的显示与隐藏 父组件的内容 子组件内容 方式二:通过为元素绑定 ref 的方式实现子组件的显示与隐藏 父组件的内容 子组件内容 2. setup 语法糖写法 父组件 子组件 总结: 对于传统写法两种方式来看,都有

    2024年02月09日
    浏览(52)
  • vue3-setup语法糖之组件传参(defineProps、defineEmits、defineExpose)

    vue3官方文档  defineProps  和  defineEmits  都是只能在  script setup  中使用的 编译器宏 。他们不需要导入,且会随着  script setup  的处理过程一同被编译掉。 defineProps  接收与  props  选项相同的值, defineEmits  接收与  emits  选项相同的值。   父传子  - defineProps  父组件 子

    2023年04月08日
    浏览(47)
  • ReferenceError: require is not defined 【vue3 +vite +setup语法使用报错】

    原本我们在vue2时代,可以使用require 导入静态资源,如下所示 但在vue3中的vite没有require方法定义的使用,说白了就是不使用require方法进行资源的导入,而是使用新的方法。详情请看官网。 Vite官网 我这里提供两种方法: 方法1: 使用 import导入资源 方法2: 直接使用 new URL(

    2024年02月13日
    浏览(42)
  • vue3的setup函数中定义data数据,使用data数据

    vue3保留了vue2的语法,但是不能混着用,setup中定义原有vue2中data数据的方法有所改变 直接上代码 对比原有vue2代码 data() {             return {                 name: \\\"张三\\\",                 age:18             }     } 在setup函数中使用数据也无需 this.xxx, 而是用你定义的名字

    2024年02月12日
    浏览(38)
  • 【vue3】基础知识点-setup语法糖

    学习vue3,都会从基础知识点学起。了解setup函数,ref,recative,watch、comptued、pinia等如何使用 今天说vue3组合式api,setup函数 在学习过程中一开始接触到的是这样的,定义数据且都要通过return返回 最新接触到的是这样的 两种不同的写法,那区别是什么呢? 其实在script标签上直

    2024年02月13日
    浏览(40)
  • 第九章、Vue3中<script setup>语法糖

    摘要:script setup语法糖: https://cn.vuejs.org/api/sfc-script-setup.html 一、script setup语法糖用法 1.1 基本语法: 要使用这个语法,在script 中添加setup属性即可。 里面的代码最终会编译成setup()函数中的内容: 所以每次在组件实例被创建时,都会执行; 1.2 顶层绑定自动暴露给模板 当使用

    2024年02月11日
    浏览(44)
  • 手写类似于BetterScroll样式的左右联动菜单 uni-app+vue3+ts (使用了script setup语法糖)

     注意:在模拟器用鼠标滚动是不会切换光标的,因为使用的是触摸滑动。【自定义类型贴在最后了】 script 部分如下:  template部分如下: scss样式:  category.d.ts main-arr.d.ts  

    2024年02月05日
    浏览(46)
  • Vue3通透教程【六】setup语法糖、computed函数、watch函数

    专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 Vue3 的相关技术文章,Vue 框架目前的地位大家应该都晓得,所谓三大框架使用人数最多,公司选型最多的框架,凉哥之前在文章中也提到过就是 Vue 框架之所以火起来的原因,和 Vue 框架相比其

    2024年01月20日
    浏览(44)
  • 最新 Vue3、TypeScript、组合式API、setup语法糖 学习笔记

    备注:目前 vue-cli 已处于维护模式,官方推荐基于 Vite 创建项目。 vite 是新一代前端构建工具,官网地址:https://vitejs.cn vite 的优势如下: 轻量快速的热重载(HMR),能实现极速的服务启动。 对 TypeScript 、 JSX 、 CSS 等支持开箱即用。 真正的按需编译,不再等待整个应用编译

    2024年02月20日
    浏览(46)
  • vue3的setup 语法糖中获取slot 插槽的dom对象

    最近使用vue3开发项目,需要封装一个无限滚动的组件,使用scroll组件内置插槽接受模板的方式,所以需要在scroll组件内获取到模板渲染后dom元素的宽高。 但是setup语法糖是组件生命周期的beforeCreate和created中,而且经过测试,在mounted函数中的el属性也是null,所以得出结论模板

    2024年02月15日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包