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:
liyang
2018-07-01 20:57:15 +08:00
parent 63759ec3ec
commit 743b084d4a
7 changed files with 179 additions and 6 deletions

View File

@@ -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>

View File

@@ -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>

View File

@@ -1 +1 @@
35a1519553c12e452244d02c9010ff5200e2c0d0
3d08e93eeb3db6899777433a901454fe4f35f86e

View File

@@ -0,0 +1,22 @@
<template>
<d2-container type="full" :scroll="true">
<template slot="header">
我是插入到 header 中的内容
</template>
<d2-markdown :source="doc"/>
<template slot="footer">
<d2-demo-link-btn title="D2Admin" link="https://github.com/FairyEver/d2-admin"/>
</template>
</d2-container>
</template>
<script>
import doc from './md/doc-full-bs.md'
export default {
data () {
return {
doc
}
}
}
</script>

View File

@@ -0,0 +1,75 @@
## 自适应填充页面容器 + 滚动优化
无论内容高度多少,都会自动撑满页面,并有可选的 `header``footer` 插槽,**并且使用自定义滚动条代替原生滚动条**,是否启用此功能请自行取舍
示例:
```
<template>
<d2-container type="full" :scroll="true">
<template slot="header">
可选的 header 内容 ...
</template>
主体内容 ...
<template slot="footer">
可选的 footer 内容 ...
</template>
</d2-container>
</template>
```
下面是一个较长的演示文章,仅仅是为了演示一些文字的显示效果
## vue.js
**易用**
已经会了 HTML、CSS、JavaScript即刻阅读指南开始构建应用
**灵活**
不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩。
**高效**
20kB min+gzip 运行大小
超快虚拟 DOM
最省心的优化
**Vue.js 是什么**
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层不仅易于上手还便于与第三方库或既有项目整合。另一方面当与现代化的工具链以及各种支持类库结合使用时Vue 也完全能够为复杂的单页应用提供驱动。
如果你已经是有经验的前端开发者,想知道 Vue 与其它库/框架有哪些区别,请查看对比其它框架。
## Element
Element一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库
**一致性** Consistency
- 与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;
- 在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。
**反馈** Feedback
- 控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;
- 页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。
**效率** Efficiency
- 简化流程:设计简洁直观的操作流程;
- 清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;
- 帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。
**可控** Controllability
- 用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;
- 结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。

View File

@@ -6,7 +6,7 @@
```
<template>
<d2-container type="card-full">
<d2-container type="full">
<template slot="header">
可选的 header 内容 ...
</template>

View File

@@ -1 +1 @@
e8c4c3e16fcb1ddb9ef21f6e9a83fccc3cea38ff
003fe0eab9894c5bbfc8cc4f0ad571b8dcb29ce2