el-date-picker 禁用时分秒选择(包括禁用下拉框展示)

本文讲述了如何在使用ElementUI的el-date-picker组件时,将时间固定为08:00并禁止单元格选择。作者通过设置`popper-class`的CSS样式禁用鼠标响应,并利用`default-time`属性来预设默认时间。
摘要由CSDN通过智能技术生成

2024.04.26今天我学习了对el-date-picker进行禁用时分秒,

在使用el-date-picker组件的时候,我们有可能遇到需要把时分秒的时间固定,然后并且不能让他修改:

1714120999296

比如右上角的这个时间,我们要给它固定是‘08:00’,并且不能进行下来选择修改,我百度了很多办法都是用:disable-hour :disable-minutes,但是这样还可以进行下拉框的展示,对于我这种直接固定时间的不太友好,所以我就从css出发,找到这个input的样式,设置禁用鼠标响应,

主要方法两个:

1.popper-class设置禁用响应鼠标事件

2.default-time默认展示时分秒的时间

代码如下:

<template>
   <el-date-picker
             v-model="xxx"
             format="yyyy-MM-dd HH:mm"
             type="datetime"
             :clearable="false"
             popper-class="el_date_picker"
             default-time="08:00:00"
             :picker-options="pickerOptions"
             @change="submit_time($event,scope.row)"
             placeholder="选择日期时间"
           />
</template>

<style>
.el_date_picker .el-input--small{
  pointer-events:none ;//设置禁用响应鼠标事件
}
</style>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,可以根据以下步骤实现: 1. 在获取到服务器返回的日期数据后,对el-date-picker的日期下拉框进行修改,并在数据包含的日期下面添加小蓝点的提示效果。 2. 在el-date-picker的template中添加一个slot,用于渲染每个日期单元格。 3. 在每个日期单元格中判断是否需要添加小蓝点的提示效果,如果需要则添加样式和提示内容。 以下是代码示例: ```html <template> <el-date-picker v-model="date" type="date" :picker-options="pickerOptions" > <template slot="default" slot-scope="{ date, disabled }"> <div class="cell" :class="{ 'is-disabled': disabled }"> <span class="cell-content">{{ date.getDate() }}</span> <span class="cell-tip" v-if="datesWithTip.includes(formatDate(date))" ></span> </div> </template> </el-date-picker> </template> <script> export default { data() { return { date: '', datesWithTip: [], // 包含提示效果的日期数组 pickerOptions: { disabledDate: (time) => { const date = new Date(time) return date.getDay() === 0 || date.getDay() === 6 // 周末禁用 }, }, } }, methods: { formatDate(date) { const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() return `${year}-${month}-${day}` }, setDatesWithTip(dates) { this.datesWithTip = dates.map((date) => this.formatDate(date)) }, }, mounted() { // 模拟后端返回的日期数据 const dates = [ new Date('2022-07-03'), new Date('2022-07-05'), new Date('2022-07-08'), ] this.setDatesWithTip(dates) }, } </script> <style> .cell { position: relative; } .cell-tip { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 6px; height: 6px; background-color: blue; border-radius: 50%; } </style> ``` 在上面的代码中,我们首先在el-date-picker的template中添加了一个slot,用于渲染每个日期单元格。在每个单元格中,我们判断当前日期是否需要添加小蓝点的提示效果,如果需要则添加相应的样式和提示内容。 在组件mounted钩子函数中,我们模拟后端返回的日期数据,并调用setDatesWithTip方法将包含提示效果的日期数组设置到组件数据中。 同时,我们也可以通过设置pickerOptions中的disabledDate属性来禁用一些特定的日期,例如禁用周末。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

敲代码无敌小奶龙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值