新增/创建弹窗
npm i lc-vue-biz-cu-dialog
<template>
<div>
<el-button @click='onClick'>
aaa
</el-button>
<biz-cu-dialog
ref='dialogRef'
title='aaaa'
:show-footer='false'
:init-func='initFunc'
:submit-func='submitFunc'>
<template #default='{defaultData}'>
{{ defaultData }}
</template>
<template #prefix-footer>
<footer-button btn-type='cancel'>
取消1
</footer-button>
</template>
<template #suffix-footer>
<footer-button btn-type='submit' type='primary'>
下一步
</footer-button>
</template>
</biz-cu-dialog>
</div>
</template>
<script setup lang="ts">
import { BizCuDialog, FooterButton } from 'lc-vue-biz-cu-dialog';
import { ref } from 'vue';
const dialogRef = ref();
const onClick = () => {
dialogRef.value.show(1, { a: 1 });
};
const initFunc = (...args:any[]) => {
console.log('initFunc', ...args);
return new Promise((resolve) => {
setTimeout(() => {
resolve({ bb: 33 });
}, 2000);
});
};
const submitFunc = (...args:any[]):Promise<void> => {
console.log('submitFunc', ...args);
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, 2000);
});
};
</script>
<style scoped>
</style>
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
initFunc | 数据初始化方法 | (id?:any, options?:any)=>Promise | () => ({}) |
submitFunc | 提交方法 | (id?:any, options?:any)=>Promise | () => ({}) |
title | 标题 | string | '' |
width | 宽度 | string | '600' |
showFooter | 显示底 | Boolean | true |
closeOnClickModal | 点击modal关闭弹窗 | Boolean | false |
closeOnPressEscape | 按ESC关闭弹窗 | Boolean | false |
事件名 | 说明 | 类型 |
---|---|---|
cancel-completed | 取消逻辑执行完成 | - |
cancel-success | 取消逻辑执行成功 | - |
submit-completed | 提交逻辑执行成功 | - |
submit-success | 提交逻辑执行成功 | - |
插槽名 | 说明 | 参数 |
---|---|---|
default | 弹窗内容 | - |
footer | 弹窗底部 | - |
方法名 | 说明 | 类型 |
---|---|---|
show | 显示弹窗 | (id?:any, options?:any)=>void |
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
type | el-button type 属性 | string | - |
btnType | 按钮逻辑类型 | 'cancel' | 'submit' | 'cancel' |
事件名 | 说明 | 类型 |
---|---|---|
completed | 逻辑执行完成 | - |
success | 逻辑执行成功 | - |
插槽名 | 说明 | 参数 |
---|---|---|
default | 按钮内容 | - |