vue + element + avue 学习

1、隐藏滚动条

// 谷歌的原生滚动条会占据一定的位置, 火狐的不会,是浮在元素上面
::-webkit-scrollbar {
  width: 0 !important;
}
// 去掉横向滚动条
.el-scrollbar__wrap { 
   overflow-x: hidden;
}

谷歌

请添加图片描述
火狐
请添加图片描述

2、通过路由的 scrollBehavior 记录当前页面滚动位置,并在跳转回来的时候自动滚动到上一次的位置

scrollBehavior(to, from, savedPosition) {
 if (savedPosition) {
    return savedPosition
  } else {
    if (from.meta.keepAlive) {
      from.meta.savedPosition = document.documentElement.scrollTop
    }
    return {
      x: 0,
      y: to.meta.savedPosition || 0
    }
  }
},

注意: 要获取当前页面的滚动条纵坐标位置,用:document.documentElement.scrollTop;而不是:document.body.scrollTop;documentElement 对应的是 html 标签,而 body 对应的是 body 标签

3、接口拦截中使用element的MessageBox弹框,由于多个接口同时请求,导致点击关闭弹框后,再次出现MessgaeBox弹框,导致接口调用了多少次,就需要点击多少次关闭的问题解决方案

// 错误方式 
MessageBox.close()
MessageBox.alert(message, '提示', {
  confirmButtonText: '确定'
})

// 正确方式
MessageBox.alert(message, '提示', {
  confirmButtonText: '确定',
  callback: action => {
    // 点击确定按钮后的回调函数
    MessageBox.close()
  }
})

4、怎么让audio只播放3次

<audio ref="timesAudioPlayer"
       :src="timesAudioFile"></audio>
data () {
  return {
    playNum: 0
  }
},
mounted () {
  this.$refs.timesAudioPlayer.addEventListener('ended', this.limitPlay)
},
methods: {
  limitPlay () {
    this.playNum++;
    if (this.playNum < 3) {
      this.$refs.timesAudioPlayer.play()
    } else {
      this.$refs.timesAudioPlayer.pause()
    }
  },
  playTimesAudio () {
    this.playNum = 0
    this.$refs.timesAudioPlayer.play()
  },
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值