elementplus日期选择器中增加至今选项

日期组件的shortcuts快捷选项结合改变placeholder文字与样式实现

ini 复制代码
//         html


        <el-date-picker
          style="width: 240px"
          v-model="formUsed.nowDate"
          value-format="YYYY-MM-DD"
          :shortcuts="shortcuts"
          :class="formUsed.soFar ? 'time-now-picker' : ''"
          @change="changeDate"
          type="date"
          :placeholder="formUsed.soFar && item.showNow ? '至今' : '请选择日期'"
        />
        
        
 //        js
 
 
        let formUsed = ref({
            nowDate: new Date(),
            soFar: false // 是否选择至今选项
        })
        const shortcuts = [
          {
             text: '至今',
             value: () => {
             const date = new Date()
             // 改变formUsed.value.endDate会同时触发changeDate,所以这里等changeDate执行完在执行
             setTimeout(() => {
               formUsed.value.soFar = true
               formUsed.value.endDate = ''
             }, 0)
             return date
           }
         }
       ]
       
      let changeDate = () => {
        if (formUsed.value.soFar) {
          formUsed.value.soFar = false
        }
      }

//      css
    .time-now-picker {
      .el-input__icon {
        content: '至今';
      }
      .el-input__inner::placeholder {
        color: rgb(96, 98, 102);
      }
    }
相关推荐
滚雪球~8 分钟前
npm error code ETIMEDOUT
前端·npm·node.js
沙漏无语10 分钟前
npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
supermapsupport12 分钟前
iClient3D for Cesium在Vue中快速实现场景卷帘
前端·vue.js·3d·cesium·supermap
brrdg_sefg13 分钟前
WEB 漏洞 - 文件包含漏洞深度解析
前端·网络·安全
胡西风_foxww20 分钟前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest
m0_7482548821 分钟前
vue+elementui实现下拉表格多选+搜索+分页+回显+全选2.0
前端·vue.js·elementui
星就前端叭1 小时前
【开源】一款基于Vue3 + WebRTC + Node + SRS + FFmpeg搭建的直播间项目
前端·后端·开源·webrtc
m0_748234521 小时前
前端Vue3字体优化三部曲(webFont、font-spider、spa-font-spider-webpack-plugin)
前端·webpack·node.js
Web阿成1 小时前
3.学习webpack配置 尝试打包ts文件
前端·学习·webpack·typescript
jwensh2 小时前
【Jenkins】Declarative和Scripted两种脚本模式有什么具体的区别
运维·前端·jenkins