界面需求要求界面显示列表项数据,点击列表项鼠标箭头变成小手指,点击列表项弹出抽屉栏,在抽屉栏展开情况下可以切换点击列表项,抽屉栏详情数据根据点击项展示。界面大致如下图:
技术问题解决1:
当鼠标移动到数据列表项时,鼠标箭头变成小手指的形式,这其实就是修改组件下的列表项样式,具体实现如下:
.el-table--enable-row-hover .el-table__body tr:hover > td {
cursor: pointer;
}
技术问题2:
抽屉栏显示,列表项可以点击。其实这是界面样式调整问题,当使用抽屉框时组件默认带有遮罩层,即使设置了遮罩层不显示,修改的也是遮罩层的透明度,遮罩层将下面的组件覆盖后导致组件无法点击,解决办法缩小遮罩层为实际抽屉显示的宽度,保留左侧列表框可以点击。
给抽屉栏组件添加class类
定义此类样式,ui需要的抽屉栏占比为整个界面的70%,因此设定宽度为70%,此时整个抽屉会在界面的中间,需要移动都右边,因此左边距给足剩下的30%
.details {
width: 70%;
margin-right: 0px;
margin-left: 30%;
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
}
此时遮罩层处理完毕,接下来处理抽屉内容框,通过控制台样式定位抽屉内容框修改对应的宽度占比100%,进行右浮动。
.el-drawer__container {
width: 100%;
float: right;
}
此时界面的左边30%没被遮罩层遮盖的地方是可以进行点击操作,此时利用组件传值可以替换抽屉栏中的数据内容。
注意:此方法设定后抽屉栏的size要设为100%,确保占比全部70%。