el-date-picker日期列表样式更换为完全不同的样式保证弹出日期弹窗的功能不变

 

<div class="pRelative">
    <div>
        <el-date-picker 
            ref="dateBEDate"
            value-format="yyyy-MM-dd"    
            v-model="formAddMeal.startEndDate"
            type="datetimerange" 
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            align="right">
        </el-date-picker>
    </div>
    <div class="pAbsolute dateBox flex aCenter jsb cPointer" @click="cfDate">
        <div class="beginDate" v-show="!formAddMeal.startEndDate">开始日期</div>
        <div class="beginDate ed" v-show="formAddMeal.startEndDate">{{ formAddMeal.startEndDate[0] }}</div>
        <div class="flex aCenter">
            <div class="el-icon-arrow-right"></div>
            <div class="eDate" v-show="!formAddMeal.startEndDate">结束日期</div>
            <div class="beginDate ed" v-show="formAddMeal.startEndDate">{{ formAddMeal.startEndDate[1] }}</div>
        </div>
        <img :src="commonImgPath+'dateIcon.png'" alt="">
    </div>
</div>

 

<script>
 export default{ 
    data(){
        return{
            commonImg:'',//图片的前缀,就是图上的那个日历小图标,忽略
             formAddMeal:{ 
                startEndDate:'',
                endDate:'',
                startDate:'', 
            }
        }
    },
    methods:{
        cfDate(){
            //触发日期组件的焦点事件,弹出选择日期弹窗
            this.$refs.dateBEDate.focus()
        }
    }
 } 
</script>
.dateBox{
    padding:8px 23px 8px 12px; 
    font-size: 16px; 
    color: #333333;  
    width:310px;
    height:40px;
    box-shadow: 0px 0px 0px 2px rgba(178,178,178,0.22);
    border-radius: 2px 2px 2px;
    box-sizing: border-box;
    left:0;
    top:0;
    z-index:0;
    .beginDate{
        margin-right: 46px;
        &.ed{
            margin-right:0;
        }
    }
    .eDate{
        margin-left:2px;
    }
    img{
        width:18px;
        height:18px;
        margin-left:35px;
    }
}
.pRelative{
    position: relative;
}
.pAbsolute{
    position: absolute;
}
.cPointer{
    cursor: pointer;
}
.flex{
    display: flex;
}
.flexWrap{
    flex-wrap: wrap;
}
.aCenter{
    align-items: center;
}   
.jsb{
    justify-content: space-between;
}

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
el-date-picker是一个基于ElementUI日期选择器组件,它可以帮助你方便地在网页上选择日期。如果你想要选择一个跨度为30天的日期范围,可以使用el-date-picker组件的range属性来实现。具体操作步骤如下: 1. 在你的Vue组件中引入el-date-picker组件。 2. 在模板中使用el-date-picker组件,并设置range属性为true。 3. 在设置el-date-picker组件的绑定值时,绑定一个长度为2的数组。 4. 在绑定数组中,第一个元素表示开始日期,第二个元素表示结束日期。默认情况下,开始和结束日期会被初始化为当前日期。 以下是一个示例代码: ``` <template> <div> <el-date-picker v-model="dateRange" type="daterange" range :picker-options="pickerOptions" @change="handleChange"> </el-date-picker> </div> </template> <script> export default { data() { return { dateRange: [], // 绑定一个长度为2的数组 pickerOptions: { disabledDate: (time) => { const now = new Date(); return time.getTime() > now.getTime() || time.getTime() < now.getTime() - 1000 * 60 * 60 * 24 * 29; } } }; }, methods: { handleChange(date) { console.log('选择日期范围为:', date); } } }; </script> ``` 在这个示例代码中,我们设置了dateRange绑定值为一个长度为2的空数组,然后通过设置range属性为true来启用日期范围选择模式。我们还设置了pickerOptions属性来设置一些选项,如disabledDate,它可以禁用一些日期。在handleChange方法中,我们可以获取到选择的日期范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路光.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值