element ui 时间选择器增加取消,确定按钮,样式修改

一. 时间选择器是直接挂在body上的,不能直接通过/deep/修改,可以通过popper-class="date-style",样式引入,注意同级样式层级关系 (scoped)是局部的样式,要去掉 (注意)
1.
<el-date-picker ref="datePick" popper-class="date-style" align="right" @change="dateChenge" v-model="dateDay"
type="daterange" :clearable="false" :picker-options="dateButton" range-separator="——"
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
2.
data() {
let that = this;
return {
dateButton: {
time:'',
shortcuts: [
{
text: "取消",
onClick() {
that.dateDay = "";
that.$refs.datePick.handleClose();
},
},
{
text: "确定导出",
onClick() {
if(that.dateDay.length==2){
let Start=that.dateDay[0]
let End=that.dateDay[1]
let dateBegin = new Date(Start); //将-转化为/,使用new Date
let dateEnd = new Date(End); //获取当前时间
let dateDiff = dateEnd.getTime() - dateBegin.getTime(); //时间差的毫秒数
let dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000)); //计算出相差天数
if(dayDiff>31){
return Snackbar.error('选择日期期间最多31天')
}else{
that.$refs.datePick.handleClose();
}
}
},
},
],
},
}}
3.
新建样式文件 并在页面引入
<style lang="less">
@import "../../assets/style/timePicker.less";
</style>
/* 日期控件样式 */
/* input框placeholder样式 */
/* 日期选择框面板样式 */
.date-style.el-date-picker, .date-style.el-picker-panel{
width: 506px !important;
height: 323px !important;
// background: rgba(0, 0, 0, 1) !important;
border: 1px solid rgba(255, 255, 255, 0.3);
margin: 0;
font-size: 1rem !important;
font-family: 'HelveticaNeue-Medium, HelveticaNeue';
font-weight: 500;
// color: #FFFFFF;
/* 日期选择器左侧快捷方式样式重写 定位到底部 */
.el-picker-panel__sidebar {
width: 506px;
height: 40px;
padding: 0;
display: flex;
justify-content: right;
align-items: center;
margin-top: 283px;
background: rgba(0, 0, 0, 0) !important;
border-right: 1px solid rgba(0, 0, 0, 0);
}
.el-picker-panel__sidebar :nth-child(2) {
background-color: #3AA0B8;
border: none;
color: #FFFFFF;
}
.el-picker-panel__sidebar>button {
width: 56px;
height: 24px;
line-height: 20px;
margin-right: 16px;
border: 1px solid #6DE3FF;
font-size: 12px;
font-family: 'PingFangSC-Regular, PingFang SC';
font-weight: 400;
// color: #FFFFFF;
padding: 0;
text-align: center;
border-radius: 2px;
}
.el-picker-panel__shortcut:hover {
// color: #fff;
border: 1px solid #fff;
}
/* 日期选择器日历部分样式*/
.el-picker-panel__body-wrapper {
width: 506px;
height: 323px;
display: flex;
flex-wrap: wrap;
}
.el-picker-panel__body {
margin: 0 !important;
width: 506px;
height: 283px;
}
.el-date-range-picker__header {
box-sizing: border-box;
padding: 0 10px;
font-size: 0.16rem !important;
font-family: 'HelveticaNeue-Medium, HelveticaNeue';
font-weight: 500 !important;
// color: #FFFFFF !important;
}
.el-date-picker__header-label {
font-size: 16px;
font-weight: 500;
padding: 0 5px;
line-height: 22px;
text-align: center;
cursor: pointer;
// color: #fff;
}
.el-picker-panel__content {
height: 283px;
padding: 0px;
border-bottom: 1px solid #e4e4e4;
box-sizing: border-box !important;
}
.el-picker-panel__icon-btn {
font-size: 12px;
// color: #fff;
border: 0;
background: 0 0;
cursor: pointer;
outline: 0;
margin-top: 8px;
}
.el-date-table {
box-sizing: border-box;
padding: 5px;
}
.el-date-table th {
padding: 5px;
// color: #fff;
font-weight: 400;
border-bottom: solid 1px rgba(255, 255, 255, 0.3);
}
.el-date-table td {
padding: 2px 0px !important;
}
// .el-date-table td.end-date span,
// .el-date-table td.start-date span {
//
// }
// /* 选中范围背景色 */
// .el-date-table td.in-range div,
// .el-date-table td.in-range div:hover,
// .el-date-table.is-week-mode .el-date-table__row.current div,
// .el-date-table.is-week-mode .el-date-table__row:hover div {
//
// }
}
.date-style.el-popper[x-placement^=bottom] {
margin-top: 0px !important;
}
.date-style.el-popper[x-placement^=bottom] .popper__arrow::after {
border-bottom-color: rgba(0, 0, 0, 0) !important;
}
.date-style.el-popper[x-placement^=bottom] .popper__arrow {
border-bottom-color: rgba(0, 0, 0, 0) !important;
}
.date-style.el-date-range-picker .el-picker-panel__body {
min-width: 506px;
}

浙公网安备 33010602011771号