首页 > 其他分享 >全局修改 iview DatePicker组件 props startDate 为服务器时间 vue2

全局修改 iview DatePicker组件 props startDate 为服务器时间 vue2

时间:2024-12-13 14:54:48浏览次数:2  
标签:DatePicker startDate replacePropsDefaultValueForIView vue2 props menuInfo iView

全局修改 iview DatePicker组件 props startDate 为服务器时间 vue2

产品需求 日期选择的时候,默认不能 是服务器时间,所以对组件默认值进行修改

创建 replacePropsDefaultValueForIView.js 文件在 utils目录

import Vue from "vue";

export const replacePropsDefaultValueForIView = (iView) => {

  // 对iView的DatePicker的props默认值进行全局修改
  iView.DatePicker.mixins[0].props.startDate = {
    type: Date,
    default: () => {
      // new Date(2024, 0, 1) // 例如,设置为2024年1月1日
      return Vue.prototype.$app.nowDateComputed
    }
  }
 }

main.js 导入函数

import { replacePropsDefaultValueForIView } from './utils/replacePropsDefaultValueForIView.js'
// 对iView组件库的props默认值进行修改,暂时修改的是 DatePicker的startDate
// 需求要将服务器时间 替换 客户端时间
replacePropsDefaultValueForIView(iView)
// 这个函数的下一行 应该是 Vue.use(iView, { ... })

我在App.vue 文件里面 写的计算属性,方便全局获取
App.vue

computed: {
    nowDateComputed () {
	    // DatePicker 组件下添加
      // :start-date="$app.nowDateComputed"
      if (this.$G && this.$G.menuInfo && this.$G.menuInfo.nowDate) {
        return dayjs(this.$G.menuInfo.nowDate).toDate() // 这里 new Date 不能对 09月 这类字符串进行正确解析
      }

      console.error('服务器获取时间失败 this.$G.menuInfo.nowDate 没有获取成功!')
      return new Date()
    },
},
mounted () {
  Vue.prototype.$app = this
}

这里 this.$G.menuInfo.nowDate 就是 异步$api获得数据,放在了 localStorage 里了,读写什么的网上一堆,就不贴代码了。

标签:DatePicker,startDate,replacePropsDefaultValueForIView,vue2,props,menuInfo,iView
From: https://www.cnblogs.com/pengchenggang/p/18604951

相关文章

  • 零基础前端项目实战】数据大屏可视化项目完整教程 - 手把手教你用Vue+ECharts打造炫酷
    效果图:完整代码<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>数据大屏展示</title><scriptsrc="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script><scrip......
  • 2.4、Vue2事件处理
    2.1.1事件处理的核心语法2.1.1.1、事件处理知识点1.指令的语法格式:<标签v-指令名:参数名="表达式">{{插值语法}}</标签>“表达式”位置都可以写什么?常量、JS表达式、Vue实例所管理的XXX2.在Vue当中完成事件绑定需要哪个指令呢?v-on指令。语法格式:v-on:事件名="表达......
  • vue2-实现动态显示时间
    效果实现代码exportdefault{data(){return{time:''}},created(){let_date=this.showTime();this.time=_date;setInterval(()=>{this.time=this.showTime();},1000);},methods:{......
  • 01、vue2初体验
    一、Vue程序初体验先不去了解Vue框架的发展历史,Vue框架的特点,Vue的作者,这些对于我们开发来说,没有什么特别的作用,我们先学会基本使用,然后再去详细了解它的特点,就会发现,原来如此。但我们需要指导Vue是一个基于JavaScript(JS)实现的框架,想要使用它,就得先拿到Vue的js文件Vue官网......
  • vue2使用openlayers10.3.0版本组包
     "node-polyfill-webpack-plugin":"2.0.1","@vue/cli-plugin-babel":"~5.0.0","@vue/cli-plugin-eslint":"~5.0.0","@vue/cli-service":"~5.0.0","node-polyfill-webpack-plu......
  • uniapp中echarts的正确集成方式:Vue2与Vue3组合式API双重视角
    uniapp作为一款出色的跨平台前端框架,以其一套代码多端运行的特性,深受开发者喜爱。echarts作为数据可视化领域的佼佼者,提供了丰富的图表类型和灵活的配置选项。本文将带你领略在uniapp中使用echarts的两种不同方式:Vue2的传统方法和Vue3的组合式API。一、uniapp集成echarts的准......
  • 如何打包部署vue2脚手架编写的项目
    如果你需要将Vue2项目打包,并且指定上下文路径(publicPath)为'film',你可以在项目的vue.config.js文件中进行配置。以下是如何设置的步骤:创建或修改vue.config.js文件:在项目的根目录下创建或修改vue.config.js文件,并添加以下内容:module.exports={publicPath:'/film......
  • vue2/3 中使用 @vue-office/docx 在网页中预览(docx、excel、pdf)文件
    1.安装依赖:#docx文档预览组件npminstall@vue-office/docxvue-demi@0.14.6#excel文档预览组件npminstall@vue-office/excelvue-demi@0.14.6#pdf文档预览组件npminstall@vue-office/pdfvue-demi@0.14.6vue2.6版本或以下还需要额外安装@vue/composition-apinp......
  • VUE2基础知识
    目录一、基础语法和概念1.1.模板语法1.双花括号插值2.指令v-bindv-modelv-if,v-else-if、v-elsev-showv-forv-on3.修饰符         .lazy(用于v-model):        .trim(用于v-model):        .number(用于v-model):        .stop(用于v-on):......
  • vue2+element-ui 使用el-tooltip文本溢出单行展示tooltip,未溢出不展示tooltip
     先看效果无需改动代码直接复制粘贴既可实现。1.直接使用组件来做,我里面的span使用了unocss来实现的样式,你如果没有unocss那就是用下面的class来实现样式。<template><el-tooltipeffect="dark":content="tooltip"placement="top":disabled="disab......