Element UI 抽出了滚动条组件——<el-scrollbar></el-scrollbar>
,但是没有相关文档。官方在 https://github.com/ElemeFE/element/issues/2238 有过相关回复。这里对该组件的接口总结一下。
组件结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ┌──────────┐ ┌───┼──────────┼──┬────┬─┐ │ │ │ │ │ │ │ │ │ │ ├─┼────►track │ │ │ │ ┌┐ │ │ │ │ │ │ ││ │ │ │ │ │ │ │┼─┼─┼────►thumb │ │ │ │ ││ │ │ │ │ │ │ └┘ │ │ │ │ │ │ │ │ └───┼───┬──────┼──┴────┴─┘ │ └──────┼─────────────►warp │ ├─────────────►view └──────────┘
|
warp 是可视区域,view 是内容区域,warp 之外的部分将被隐藏。
滚动条的滑块 thumb 在 track 区域滑动。
接口如下:
1 2 3 4 5 6 7 8 9 10 11 12
| props: { :native: Boolean, wrapClass: string, wrapStyle: string, viewClass: string, viewStyle: string, noresize: Boolean, tag: { type: String, default: 'div' } }
|
改变 .el-scrollbar__wrap
这个类的样式一定要仅改变指定想改变的滚动条,避免影响到其他组件中 el-dropdown
有滚动条的样式。
1 2 3 4
| // 在 common.css 中添加 .el-scrollbar__wrap{ overflow-x: hidden; }
|
使用案例(如果有不需要的接口可以不使用):
在使用时要设置外层容器高度。并且要设置el-scrollbar 的高度为100% 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <template> <div style="height: 600px;"> <el-scrollbar style="height: 100%;" :native="false" wrapStyle="" wrapClass="" viewClass="" viewStyle="" :noresize="false" tag="main"> <div> <p v-for="(item, index) in 200" :key="index">第 {{index}} 条数据。</p> </div> </el-scrollbar> </div> </template>
<template> <div> <el-scrollbar style="height: 600px;" :native="false" wrapStyle="" wrapClass="" viewClass="" viewStyle="" :noresize="false" tag="main"> <div> <p v-for="(item, index) in 200" :key="index">第 {{index}} 条数据。</p> </div> </el-scrollbar> </div> </template>
|
参考资料