vue3 element-plus 日期选择器 el-date-picker 汉化

vue3 项目中,element-plus 的日期选择器 el-date-picker 默认是英文版的,如下:
在这里插入图片描述

页面引入:

//引入汉化语言包
import locale from "element-plus/lib/locale/lang/zh-cn"
import {
    ElDatePicker, ElButton, ElConfigProvider } from 'element-plus/lib/components'

el-config-provider 包裹组件 el-date-picker

<el-config-provider :locale="locale">
  <el-date-picker v-model="searchList.end_time" type="date" placeholder="请选择结束时间" value-format="yyyy-mm-dd"/>
</el-config-provider>

完整代码,index.tsx

import {
    defineComponent, ref, reactive, onMounted } from 'vue'
import styled from '@/styled-components'
import {
    Popover } from 'ant-design-vue';
//引入汉化语言包
import locale from "element-plus/lib/locale/lang/zh-cn"
import {
    ElDatePicker, ElButton, ElConfigProvider } from 'element-plus/lib/components'

const BgContainer = styled.div`
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: rgb(246, 246, 246);
`

export default defineComponent({
   
  setup() {
   
    const selectedDateVal = ref<number>(0)
    const timeArr = ref<number[]>([])
    const searchForm = reactive({
   
      timeType: 'yesterday',
      beginTime: 0,
      endTime: 0
    })

    onMounted(() => {
   
    })
       
    function setCustomTime(val:string){
     
      searchForm.timeType = val    
    }

    function confirmDateTime(val:any,type:string){
         
      if(val){
    
        let beginTime = 0   
        let endTime = 0
        const date = new Date(val)
        switch (type) {
   
          case 'yesterday':                            
            beginTime = val     
            endTime = val + 60 * 60 * 1000 * 24-1000 
            break
          case 'week':                            
            beginTime = val      
            endTime = beginTime+7*60*60*1000*24-1000 
            break
          case 'month': 
            beginTime = val
            endTime = new Date(new Date(date.getFullYear(), date.getMonth()+1, 1).setDate(0)).getTime() // 获取所选月最后一天                        
          break
        }
        timeArr.value = [beginTime, endTime]
        selectedDateVal.value = 0       
        searchForm.timeType = type
      }     
    }
 
    return () => {
   
      return (
        <BgContainer>      
          <ElConfigProvider locale={
   locale}>
             <Popover content={
   <ElDatePicker onChange={
   (val:any)=>confirmDateTime(val,'yesterday')} type='datetime' v-model={
   selectedDateVal.value} format="YYYY-MM-DD HH:mm:ss" value-format="x" placeholder="请选择指定日"></ElDatePicker>} title="选择指定日">
               <ElButton type="primary" onClick={
   () =>setCustomTime('yesterday')}>指定日</ElButton>
             </Popover>      
           </ElConfigProvider>            
        </BgContainer>
      )
    }
  }
})

页面效果如下所示:
在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 06:00:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 06:00:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 06:00:02       82 阅读
  4. Python语言-面向对象

    2023-12-17 06:00:02       91 阅读

热门阅读

  1. Next.js 学习笔记(二)——项目结构

    2023-12-17 06:00:02       63 阅读
  2. ntp时间同步配置中 server、pool和peer的区别

    2023-12-17 06:00:02       53 阅读
  3. 分布式配置中心SpringCloudConfig

    2023-12-17 06:00:02       58 阅读
  4. Python 正则表达式模块:re 模块

    2023-12-17 06:00:02       70 阅读
  5. C语言之实现贪吃蛇小游戏篇

    2023-12-17 06:00:02       53 阅读
  6. 固态硬盘缓存和不缓存的区别

    2023-12-17 06:00:02       58 阅读
  7. Spring Boot 默认缓存

    2023-12-17 06:00:02       41 阅读