Files
vue-element-plus-admin/src/components/Dialog/index.vue
2020-12-28 09:50:04 +08:00

49 lines
964 B
Vue

<template>
<el-dialog
v-bind="getBindValue"
destroy-on-close
:close-on-click-modal="false"
top="10vh"
>
<template v-if="slots.title" #title>
<slot name="title" />
</template>
<!-- 弹窗内容 -->
<el-scrollbar class="com-dialog__content">
<slot />
</el-scrollbar>
<template v-if="slots.footer" #footer>
<slot name="footer" />
</template>
</el-dialog>
</template>
<script lang="ts">
import { defineComponent, computed } from 'vue'
export default defineComponent({
name: 'Dialog',
setup(props, { slots, attrs }) {
const getBindValue = computed((): any => {
const bindValue = { ...attrs, ...props }
return bindValue
})
return {
getBindValue,
slots
}
}
})
</script>
<style lang="less" scoped>
.com-dialog__content {
@{deep}(.el-scrollbar__wrap ) {
max-height: 600px; // 最大高度
overflow-x: hidden; // 隐藏横向滚动栏
}
}
</style>