element ui plus 找不到bodyWrapper实现两个表格同步滚动的方法。

	mounted() {
		
		this.dom1 = this.$refs.table1;
		this.dom2 = this.$refs.table2;

		this.dom1.$el.addEventListener("mouseover", (e) => {
			this.flag = false; // 此处的flag判断是否主动滚动了当前table
		this.dom2.$el.addEventListener("mouseover", (e) => {
			this.flag = true; // 此处的flag判断是否主动滚动了当前table
		
		});
		
	},

watch中监听触碰的是哪个表格

	watch: {
		flag(value) {
			console.log("flag", value);
			this.listenerScroll(value);
		},
	},

最后来同步滚动

	listenerScroll() {
			let that = this;
			if (this.flag == true) {
				//2滑动  赋值给1  true   el-scrollbar__wrap为饿了么的滚动条类名
				document
					.querySelectorAll(".el-scrollbar__wrap")[1]
					.addEventListener("scroll", () => {
						console.log(123);
						if (this.flag) {
							console.log(
								document.querySelectorAll(".el-scrollbar__wrap")[0].scrollLeft
							);
							//这个判断很重要
							that.dom1.setScrollLeft(
								document.querySelectorAll(".el-scrollbar__wrap")[1].scrollLeft
							);
						}
					});
			} else {
				//1滑动赋值给 el-scrollbar__wrap为饿了么的滚动条类名
				document
					.querySelectorAll(".el-scrollbar__wrap")[0]   
					.addEventListener("scroll", () => {
						if (!this.flag) {
							//这个判断很重要
							that.dom2.setScrollLeft(
								document.querySelectorAll(".el-scrollbar__wrap")[0].scrollLeft
							);
						}
					});
			}
		},

你可能感兴趣的:(前端,vue.js,javascript)