vxe-table-select-area
Version:
一个基于 vxe-table 的可区域选中复制、粘贴的组件
210 lines (199 loc) • 4.61 kB
CSS
/*font*/
/*size*/
/*icon*/
/*color*/
/*input/radio/checkbox*/
/*popup*/
/*table*/
/*filter*/
/*menu*/
/*loading*/
/*validate*/
/*grid*/
/*toolbar*/
/*tooltip*/
/*pager*/
/*modal*/
/*checkbox*/
/*radio*/
/*button*/
/*input*/
/*textarea*/
/*form*/
/*select*/
/*switch*/
/*pulldown*/
.vxe-select {
position: relative;
display: inline-block;
width: 180px;
color: #606266;
text-align: left;
}
.vxe-select > .vxe-input .vxe-input--inner {
cursor: pointer;
}
.vxe-select.is--disabled > .vxe-input .vxe-input--inner {
cursor: no-drop;
}
.vxe-select.is--loading > .vxe-input .vxe-input--inner {
cursor: progress;
}
.vxe-select > .vxe-input {
width: 100%;
}
.vxe-select > .vxe-input .vxe-input--suffix-icon {
display: inline-block;
transition: transform 0.2s ease-in-out;
}
.vxe-select.is--active:not(.is--filter) > .vxe-input .vxe-input--inner {
border: 1px solid #409eff;
}
.vxe-select-slots {
display: none;
}
.vxe-select--panel {
display: none;
position: absolute;
left: 0;
padding: 4px 0;
color: #606266;
text-align: left;
}
.vxe-select--panel:not(.is--transfer) {
min-width: 100%;
}
.vxe-select--panel.is--transfer {
position: fixed;
}
.vxe-select--panel.animat--leave {
display: block;
opacity: 0;
transform: scaleY(0.5);
transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);
transform-origin: center top;
backface-visibility: hidden;
transform-style: preserve-3d;
}
.vxe-select--panel.animat--leave[placement=top] {
transform-origin: center bottom;
}
.vxe-select--panel.animat--enter {
opacity: 1;
transform: scaleY(1);
}
.vxe-select-filter--wrapper {
display: block;
}
.vxe-select-filter--wrapper .vxe-select-filter--input {
width: 100%;
}
.vxe-select-option--wrapper {
position: relative;
overflow-x: hidden;
overflow-y: auto;
padding: 4px 0;
max-height: 200px;
border-radius: 4px;
border: 1px solid #DADCE0;
box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
background-color: #fff;
}
.vxe-optgroup .vxe-optgroup--title {
padding: 0 6px;
color: #909399;
font-size: 12px;
}
.vxe-optgroup--wrapper .vxe-select-option {
padding: 0 20px;
}
.vxe-select-option {
padding: 0 0.6em;
max-width: 600px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.vxe-select-option.is--selected {
font-weight: 700;
color: #409eff;
}
.vxe-select-option:not(.is--disabled) {
cursor: pointer;
}
.vxe-select-option:not(.is--disabled).is--hover {
background-color: #f5f7fa;
}
.vxe-select-option.is--disabled {
color: #BFBFBF;
cursor: no-drop;
}
.vxe-select--search-icon {
margin-right: 0.5em;
}
.vxe-select--search-loading,
.vxe-select--empty-placeholder {
padding: 0 0.6em;
text-align: center;
color: #C0C4CC;
}
.vxe-select,
.vxe-select--panel {
font-size: 14px;
}
.vxe-select.size--medium,
.vxe-select--panel.size--medium {
font-size: 14px;
}
.vxe-select.size--small,
.vxe-select--panel.size--small {
font-size: 13px;
}
.vxe-select.size--mini,
.vxe-select--panel.size--mini {
font-size: 12px;
}
.vxe-select--panel .vxe-optgroup--title,
.vxe-select--panel .vxe-select-option {
height: 30px;
}
.vxe-select--panel .vxe-optgroup--title,
.vxe-select--panel .vxe-select-option,
.vxe-select--panel .vxe-select--search-loading,
.vxe-select--panel .vxe-select--empty-placeholder {
line-height: 30px;
}
.vxe-select--panel.size--medium .vxe-optgroup--title,
.vxe-select--panel.size--medium .vxe-select-option {
height: 28px;
}
.vxe-select--panel.size--medium .vxe-optgroup--title,
.vxe-select--panel.size--medium .vxe-select-option,
.vxe-select--panel.size--medium .vxe-select--search-loading,
.vxe-select--panel.size--medium .vxe-select--empty-placeholder {
line-height: 28px;
}
.vxe-select--panel.size--small .vxe-optgroup--title,
.vxe-select--panel.size--small .vxe-select-option {
height: 26px;
}
.vxe-select--panel.size--small .vxe-optgroup--title,
.vxe-select--panel.size--small .vxe-select-option,
.vxe-select--panel.size--small .vxe-select--search-loading,
.vxe-select--panel.size--small .vxe-select--empty-placeholder {
line-height: 26px;
}
.vxe-select--panel.size--mini .vxe-optgroup--title,
.vxe-select--panel.size--mini .vxe-select-option {
height: 24px;
}
.vxe-select--panel.size--mini .vxe-optgroup--title,
.vxe-select--panel.size--mini .vxe-select-option,
.vxe-select--panel.size--mini .vxe-select--search-loading,
.vxe-select--panel.size--mini .vxe-select--empty-placeholder {
line-height: 24px;
}