vue中原生滚动条不生效,在触发dom改变后,滚动条才起作用,有什么好的解决办法?

新手上路,请多包涵

问题描述:
在vue中使用showdown.js生成了一段html,其中的code标签的代码超出了屏幕宽度,如下图

clipboard.png

然而在设置overflow:auto之后,无法实现往左拖动...

后来诡异地发现,在触发某次dom改变之后(比如点击tab切换,点击按钮变色之类),滚动条又能正常拖动了,如下图

clipboard.png

为什么滚动条初始时不生效,触发dom改变之后才生效呢?苦思无果,只能问下各位大大...

暂时的解决方案是:
vue中绑定个事件 @touchstart.once="makeScrollSuccess"
然后进行一次dom操作:

makeScrollSuccess () {
        $('.home').css('opacity','0.99')
    },

虽然滚动条正常工作了,但这种方法实在惨不忍睹,希望能找到更根本的解决办法~

阅读 2.9k
1 个回答

是不是你的overflow:auto没有生效 ,第一次的时候

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题