el-scrollbar搭配el-backtop滚动到最顶/最底 & el-scrollbar在focus时出现黑框的解决办法

如何搭配 el-scrollbar 和 el-backtop,使其点击后滚动到底部:

<template>
  <!-- 一个el-scrollbar区域,其ref是chatArea -->
  <el-scrollbar @scroll="(e: any) => { tempHeight = e.scrollTop }" ref="chatArea" always>
  </el-scrollbar>
	<el-backtop :right="40" :bottom="195" :visibility-height="0" @click="goToPlace" />
	<!-- 如果要滚动到最顶部,则可以将goToPlace中的top设为0,或者直接用target -->
  <!-- <el-backtop :right="40" :bottom="195" :visibility-height="0" target=".chat-area .el-scrollbar__wrap" /> -->
</template>
<script>
const goToPlace = () => {
  chatArea.value!.scrollTo({
    top: chatArea.value.wrapRef.scrollHeight,
    behavior: 'smooth'
  })
}
</script>
<style scoped lang="scss">
  /** 如果是要滚动到最底部,则应该让svg箭头图标指向下方 */
  :deep(.el-backtop svg) {
    transform: rotate(180deg);
  }
</style>

另外,当鼠标单击被el-scrollbar包围的区域,然后按下enter键,会发现这时el-scrollbar区域被一圈黑框围起来了,其实这是它的outline属性没被隐藏。解决办法:

:deep(.el-scrollbar__wrap.el-scrollbar__wrap--hidden-default:focus) {
  outline: none;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值