el-dialog element-ui弹窗

bulkImport.vue 自定义组件

<template>

<el-dialog :visible="modalVisible" title="批量导入" centered @close="$emit('close')" :fullscreen="true">

<span>弹窗内容</span>

<span slot="footer" class="dialog-footer">

<el-button @click="closeModal">取 消</el-button>

<el-button type="primary" @click="onConfirm">确 定</el-button>

</span>

</el-dialog>

</template>

<script>

export default {

props: {

// modal是否可见

modalVisible: {

type: Boolean,

default: false,

},

},

data() {

return {};

},

methods: {

onConfirm() {

this.$emit('bulkImport', {'aa':111,'bb':222});

},

closeModal() {

this.$emit('close');

},

},

watch: {},

computed: {},

components: {},

mounted() {},

};

</script>

<style lang="less" scoped>

</style>

================================================================

调用页面:

<template>

<div>

<el-button type="primary" @click="addTags()">批量导入</el-button>

<!-- 批量导入 -->

<bulkImport

@bulkImport="onBulkImport"

@close="() => (bulkImportVisible = false)"

:modalVisible="bulkImportVisible"

/>

</div>

</template>

<script>

//import bulkImport from '@/components/bulkImport.vue';

import bulkImport from '../../components/bulkImport.vue';

export default {

props: {

// modal是否可见

modalVisible: {

type: Boolean,

default: false,

},

},

components: {

bulkImport,

},

data() {

return {

bulkImportVisible: false,

};

},

methods: {

addTags() {

// 打开弹窗

this.bulkImportVisible = true;

},

onBulkImport(e) {

uni.showToast({

title:JSON.stringify(e),

icon: 'none',

duration: 5000

})

console.log(e); // 11

// 关闭弹窗

this.bulkImportVisible = false;

},

},

watch: {},

computed: {},

mounted() {},

};

</script>

<style>

</style>

相关推荐
共享家95275 小时前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
摘星编程7 小时前
OpenHarmony环境下React Native:自定义useTruncate文本截断
javascript·react native·react.js
Duang007_7 小时前
【LeetCodeHot100 超详细Agent启发版本】字母异位词分组 (Group Anagrams)
开发语言·javascript·人工智能·python
有来技术7 小时前
Spring Boot 4 + Vue3 企业级多租户 SaaS:从共享 Schema 架构到商业化套餐设计
java·vue.js·spring boot·后端
东东5169 小时前
学院个人信息管理系统 (springboot+vue)
vue.js·spring boot·后端·个人开发·毕设
2601_949868369 小时前
Flutter for OpenHarmony 电子合同签署App实战 - 主入口实现
开发语言·javascript·flutter
m0_748229999 小时前
Vue2 vs Vue3:核心差异全解析
前端·javascript·vue.js
xiaoxue..9 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
摘星编程9 小时前
在OpenHarmony上用React Native:自定义useHighlight关键词高亮
javascript·react native·react.js
2601_9496130210 小时前
flutter_for_openharmony家庭药箱管理app实战+用药知识详情实现
android·javascript·flutter