继续 ScrollBar scrollBar = (ScrollBar) scrollPane.lookup(".scroll-bar:vertical");获取的scrollBar 为null
时间: 2024-04-28 10:19:39 浏览: 82
如果获取的scrollBar为null,可能是因为ScrollPane中没有垂直滚动条或者垂直滚动条还没有被渲染出来。你可以尝试在ScrollPane被渲染完成后再去获取scrollBar,或者使用其他方式来获取垂直滚动条。另外,可以检查一下CSS样式是否正确,可能也会影响到scrollBar的获取。
相关问题
<logo :collapse="isCollapse" /> <transition-group appear tag="div" name="sidebar"> <el-scrollbar key="0" wrap-class="scrollbar-wrapper"> <el-menu :default-active="activeMenu" :collapse="isCollapse" :background-color="variables.menuBg" :text-color="variables.menuText" :unique-opened="false" class="menu-item-view" :active-text-color="variables.menuActiveText" :collapse-transition="false" mode="vertical" > <sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" /> </el-menu> </el-scrollbar> </transition-group>
根据你提供的代码,我看到你使用了 Vue 的 transition-group 组件来包裹 el-scrollbar 和 el-menu 组件,但是没有看到你设置过渡效果的代码。
可以尝试在你的 CSS 样式中添加以下代码,来为 sidebar 元素添加淡入淡出的过渡效果:
```
.sidebar-enter-active,
.sidebar-leave-active {
transition: opacity 0.5s;
}
.sidebar-enter,
.sidebar-leave-to {
opacity: 0;
}
```
然后在 transition-group 组件上添加 name 属性,例如:
```
<transition-group appear tag="div" name="sidebar-transition">
<!-- ... -->
</transition-group>
```
这样,你就为 sidebar 元素添加了一个名为 sidebar-transition 的过渡效果,同时也需要保证 sidebar 元素每次进入和离开时都有一个唯一的 key 值。
希望这些方法能够帮助你解决问题。
/* 全局css变量 */ $--color-primary: #409EFF; .primary-color { color: #409EFF; } .background-opacity { background: rgba(64, 158, 255, 0.6); } .form-widget-list { .ghost{ content: ''; font-size: 0; height: 3px; box-sizing: border-box; background: #409EFF; border: 2px solid #409EFF; outline-width: 0; padding: 0; overflow: hidden; } } .el-form-item--medium { .el-radio { line-height: 36px !important; } .el-rate{ margin-top: 8px; } } .el-form-item--small { .el-radio { line-height: 32px !important; } .el-rate{ margin-top: 6px; } } .el-form-item--mini { .el-radio { line-height: 28px !important; } .el-rate{ margin-top: 4px; } } .el-card { margin-top: 3px; margin-bottom: 3px; } input[type="password"]::-ms-reveal { /* 隐藏IE/Edge原生的密码查看按钮 */ display: none; } /* 滚动条样式 begin */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { width: 8px; background: rgba(#101F1C, 0.1); -webkit-border-radius: 2em; -moz-border-radius: 2em; border-radius: 2em; } ::-webkit-scrollbar-thumb { background-color: rgba(#101F1C, 0.35); background-clip: padding-box; min-height: 28px; -webkit-border-radius: 2em; -moz-border-radius: 2em; border-radius: 2em; } ::-webkit-scrollbar-thumb:hover { background-color: rgba(#101F1C, 0.85); } * {//Firefox浏览器滚动条样式 scrollbar-color: #e5e5e5 #f7f7f9; //滚动条轨道颜色、滚动条滑块的颜色 scrollbar-width: thin; //thin模式下滚动条两端的三角按钮会消失 } /* body {//IE浏览器滚动条样式 scrollbar-shadow-color: #e5e5e5; scrollbar-face-color: #e5e5e5; scrollbar-base-color: #ffffff; scrollbar-arrow-color: #444040; } */ /* 滚动条样式 end */
这段代码定义了一些全局的 CSS 变量和样式,包括:
- 定义了一个名为 `$--color-primary` 的全局 CSS 变量,其值为 `#409EFF`。
- 定义了一个名为 `.primary-color` 的样式类,将其文本颜色设置为 `$--color-primary` 定义的颜色。
- 定义了一个名为 `.background-opacity` 的样式类,将其背景色设置为带有 60% 不透明度的蓝色。
- 定义了一个名为 `.form-widget-list` 的样式类,其中包含了一个名为 `.ghost` 的子样式类,将其高度设置为 3 像素,颜色设置为 `$--color-primary` 定义的颜色,边框为 2 像素宽的 `$--color-primary` 定义的颜色。
- 定义了 `.el-form-item--medium`、`.el-form-item--small` 和 `.el-form-item--mini` 三个样式类,分别对应中、小、迷你三种表单元素大小,对其内部的单选框和评分控件进行了样式调整。
- 定义了 `.el-card` 样式类,将其上下 margin 值设置为 3 像素。
- 定义了一些滚动条的样式,包括滚动条宽度、颜色等等。其中包括针对不同浏览器的样式设置。
阅读全文