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
							);
						}
					});
			}
		},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,非常愿意帮助你解决这个问题。以下是使用Element UI中的表格组件创建可滚动列表的步骤: 1. 在你的Vue项目中安装并导入Element UI库: ```javascript npm i element-ui -S // 导入 import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI); ``` 2. 在Vue组件中添加表格组件,并设置表格属性和滚动配置: ```html <template> <el-table :data="tableData" :height="height" :max-height="maxHeight" :border="border" :stripe="stripe" :highlight-current-row="highlightCurrentRow" :header-cell-style="headerCellStyle" @row-dblclick="handleRowDblclick"> <el-table-column v-for="item in columns" :key="item.prop" :prop="item.prop" :label="item.label"> <!-- 这里可以列出列头部分的内容 --> </el-table-column> <!-- 这里可以列出其它列的内容 --> </el-table> </template> <script> export default { data() { return { columns: [/* 表格列的数组*/], tableData: [/*表格数据*/], height: 200, // 表格高度 maxHeight: 300, // 表格最大高度 border: true, // 是否显示表格边框 stripe: true, // 是否显示斑马线背景 highlightCurrentRow: true, // 是否高亮当前行 headerCellStyle: { fontWeight: 'bold', }, // 表格头部样式 }; }, }; </script> ``` 3. 在CSS中设置表格滚动区域的高度和最大高度,并设置滚动条样式: ```css .el-table { width: 100%; max-width: 100%; overflow-x: auto; } .el-table__body-wrapper { overflow-y: auto; max-height: 200px; } .el-scrollbar__thumb { background-color: rgba(0, 0, 0, 0.2); border-radius: 10px; } .el-scrollbar__wrap:hover { background-color: rgba(0, 0, 0, 0.1); } ``` 以上这些就是使用Element UI中的表格组件创建可滚动列表的基本步骤。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值