在一个elementui的表格中,想要手动改增加列的宽度超过显示宽度时自动将滚动条置于最后面.
问题是当我计算给scrollLeft赋值的时候,我赋的值赋不上去,但是scrollLeft会变成一个固定的其他值,继续增加列,这个固定的值会继续按一定值增大.
代码如下:
比如,我scrollWidth - 1260 算出来是160,赋值给scrollLeft,然后我在赋值后打了个断点,在控制台输出scrollLeft ,他的值是65,而不是我赋值的160...继续增加列,每增加一列65会按固定往数值上涨一次.无论我scrollWidth - 1260计算的值是多少,都不影响他自己的这样增长.就算我给scrollLeft赋一个固定的值依然是这样,但是我不赋值操作scrollLeft就一直是0,非常奇怪.
this.$nextTick(() => {
let scroll = this.$refs.rcTableDesign.querySelector('.table-class').querySelector('.el-table__body-wrapper')
let scrollWidth = scroll.scrollWidth
if (scrollWidth > 1400) {
scroll.scrollLeft = scrollWidth - 1260
}
})
是因为我赋值之后浏览器又重新渲染了dom吗?那我紧接着的断点赋值应该是赋上去了,然后渲染dom的时候再变掉,这样我能理解,实际上赋值之后我紧跟着的断点输出他的值就已经变成了65.全部加载完之后我输出scrollLeft依然是65