no message
Former-commit-id: cb9aed62a77b182a5fd4ff818dbf57da53809b5c [formerly cb9aed62a77b182a5fd4ff818dbf57da53809b5c [formerly cb9aed62a77b182a5fd4ff818dbf57da53809b5c [formerly cb9aed62a77b182a5fd4ff818dbf57da53809b5c [formerly 640177e2b7eeb70e6ad29fb47f6c91d5e12a21eb [formerly dd97bf357a2d59a91fad3b7a37e2e289e6c3298f]]]]] Former-commit-id: 542883849f2fd445c591e848fb10965e83dbd3a9 Former-commit-id: 2659fa4592115845114189635c56c3c616d283a5 Former-commit-id: 716e6c450abf4064463800f08761d513b3cc3e95 [formerly ad352254dd0907dc9a72b96d464b7fdbccca7d33] Former-commit-id: dfa79894672e4f95bf4f1fb3a29c555e57b8fd3a Former-commit-id: 838365672167d541e8c5222358aff50dfa432503 Former-commit-id: 6b2bbbc51e573a5faf006f8142e4d0b2bcb7bfec Former-commit-id: 1f5d8efc64c2bc80b267364a5785d1935a590a3d Former-commit-id: 94ab50748f5c4a487c08e3bd98d317e609737e35
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<div class="d2-container-full">
|
||||
<div v-if="$slots.header" class="d2-container-full__header" ref="header">
|
||||
<slot name="header"/>
|
||||
</div>
|
||||
<div class="d2-container-full__body" ref="wrapper">
|
||||
<div style="padding: 20px 0px;">
|
||||
<slot/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="$slots.footer" class="d2-container-full__footer" ref="footer">
|
||||
<slot name="footer"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BScroll from 'better-scroll'
|
||||
export default {
|
||||
name: 'd2-container-full',
|
||||
data () {
|
||||
return {
|
||||
BS: null
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.BS = new BScroll(this.$refs.wrapper, {
|
||||
mouseWheel: true,
|
||||
scrollbar: {
|
||||
fade: true,
|
||||
interactive: false
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
// [组件] d2-container-full
|
||||
.d2-container-full {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 20px;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
.d2-container-full__header {
|
||||
padding: 20px;
|
||||
}
|
||||
.d2-container-full__body {
|
||||
flex-grow: 1;
|
||||
padding: 0px 20px;
|
||||
overflow: auto;
|
||||
position: relative;
|
||||
}
|
||||
.d2-container-full__footer {
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -10,17 +10,24 @@
|
||||
<slot name="header"/>
|
||||
<slot/>
|
||||
</div>
|
||||
<!-- [container-full] 撑满 -->
|
||||
<d2-container-full v-if="type === 'full'">
|
||||
<!-- [container-full] 填充 -->
|
||||
<d2-container-full v-if="type === 'full' && !scroll">
|
||||
<slot v-if="$slots.header" name="header" slot="header"/>
|
||||
<slot/>
|
||||
<slot v-if="$slots.footer" name="footer" slot="footer"/>
|
||||
</d2-container-full>
|
||||
<!-- [container-full-bs] 填充 滚动优化 -->
|
||||
<d2-container-full-bs v-if="type === 'full' && scroll">
|
||||
<slot v-if="$slots.header" name="header" slot="header"/>
|
||||
<slot/>
|
||||
<slot v-if="$slots.footer" name="footer" slot="footer"/>
|
||||
</d2-container-full-bs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import d2ContainerFull from './components/d2-container-full.vue'
|
||||
import d2ContainerFullBs from './components/d2-container-full-bs.vue'
|
||||
export default {
|
||||
name: 'd2-container',
|
||||
props: {
|
||||
@@ -30,6 +37,12 @@ export default {
|
||||
required: false,
|
||||
default: 'card'
|
||||
},
|
||||
// 滚动优化
|
||||
scroll: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
// 是否开启响应式尺寸变化
|
||||
responsive: {
|
||||
type: Boolean,
|
||||
@@ -38,7 +51,8 @@ export default {
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'd2-container-full': d2ContainerFull
|
||||
'd2-container-full': d2ContainerFull,
|
||||
'd2-container-full-bs': d2ContainerFullBs
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user