element 问题整合

没关系,凡事发生必有利于我

文章目录

  • [一、el-table 同级数据对齐及展开图标的位置问题](#一、el-table 同级数据对齐及展开图标的位置问题)
  • [二、el-table 勾选框为圆角及只能勾选一个](#二、el-table 勾选框为圆角及只能勾选一个)
  • [三、el-tree 弹框打开,使得列表关闭,且弹框滚动条回到顶部](#三、el-tree 弹框打开,使得列表关闭,且弹框滚动条回到顶部)

一、el-table 同级数据对齐及展开图标的位置问题

element 官方提供的扩展tree型数据在表格里默认是靠左边对齐,项目需求需要同级数据要对齐,且扩展列应该在第三列部门名称上

默认样式

我的需求


1、数据同级问题

javascript 复制代码
// .sysDictInfoTable .el-table__row:not([class*="el-table__row--level-"]):
// 这是一个选择器,表示选择类名为sysDictInfoTable的元素下的.el-table__row元素,
// 但不包括那些类名包含el-table__row--level- 的元素。
// td:nth-child(3):表示选择.el-table__row元素下的第三个td子元素。
// padding-left: 24px !important;:设置td:nth-child(3)元素的左内边距为24像素,
// 并使用!important提高优先级,使这个样式规则优先于其他可能影响该元素的样式规则。

// 对齐不含子目录的所有一级目录
.sysDictInfoTable .el-table__row:not([class*="el-table__row--level-"]) {
	td:nth-child(3) {
		padding-left: 23px !important;
	}
}

// 子项目扩展的样式
.sysDictInfoTable  .el-table__placeholder {
	margin-left: 3px;
}

2、指定扩展图标的位置

二、el-table 勾选框为圆角及只能勾选一个

1、勾选框为圆角

javascript 复制代码
 // 通过控制台可以看到多选框的class名为el-checkbox__inner
 
	span.el-checkbox__inner {
		border-radius: 50% !important;
	}

2、只能勾选一条数据

javascript 复制代码
  handleSelect(selection) {
                //只能选择一行,选择其他,清除上一行
               if (selection.length > 1) {
                   let del_row = selection.shift()
                   //设置这一行取消选中
                   this.$refs.tableData.toggleRowSelection(del_row, false)   
               }
  },

三、el-tree 弹框打开,使得列表关闭,且弹框滚动条回到顶部

触发这个弹框,当我进行筛选时会过滤掉一些数据,树形组件自然会重新渲染展示,当我滚动滚动条时,再点击取消,当用户再次进入,弹框数据不变,滚动条不变,显然非常不符合逻辑,所以加了两个判断,目的是为了 重建,重新渲染 组件
cardVisble 是为了打开弹框时并重新渲染内部组件

相关推荐
竹林8184 小时前
Solana DApp 开发踩坑实录:从零用 @solana/web3.js 实现链上数据查询与交易签名
前端·javascript
用户2136610035724 小时前
VueRouter进阶-动态路由与嵌套路由
前端·vue.js
梯度不陡4 小时前
Signal #17:Agent 开始进入组织系统
前端·javascript
胡萝卜术4 小时前
从暴力到Z字形消元:力扣240「搜索二维矩阵II」的降维打击之路
前端·javascript·面试
云浪5 小时前
前端二进制数组完全指南:ArrayBuffer、TypedArray、DataView 一次讲透
前端·javascript
铁皮饭盒6 小时前
26年bunjs, elysia+pg一把梭, redis都省了
前端·javascript·后端
kyriewen19 小时前
别再对着 TypeScript 报错发呆了:我把 10 个最常见的红色波浪线翻译成了人话
前端·javascript·typescript
free3520 小时前
从 0 实现一个 Tiny JavaScript VM:项目架构拆解
javascript
暴走的小呆20 小时前
Vue 2 中 Object 的变化侦测:从 getter/setter 到 Dep、Watcher、Observer
vue.js
英勇无比的消炎药20 小时前
TinyVue v-auto-tip: 文本超长自动提示的优雅方案
vue.js