Element-Ui el-date-picker日期传值异常问题解决办法

首先,只要非常简单的组件引入写法:

然后myDate在data()中是字符串类型

myDate: ''

然后增加一个方法在提交表单到后台的时候,用来转化日期对应到myDate成字符串类型,并且对应到java类

javascript 复制代码
function checkType(value) {
  if (typeof value === 'string') {
    console.log('This value is a string.');
  } else if (value instanceof Date) {
    console.log('This value is a Date.');
  } else {
    console.log('This value is neither a string nor a Date.');
  }
}

let dateString = '2023-10-11';
let dateObject = new Date('2023-10-11');

注意点选的日期会是Date()类型

javascript 复制代码
let date = new Date();
let dateString = `${date.getFullYear()}-${(date.getMonth() + 1).toString
().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
console.log(dateString); // Outputs: "2023-10-11"

以上代码汇总:

javascript 复制代码
<el-date-picker v-model="myDate"></el-date-picker>

myDate: ''


function checkType(value) {
  if (typeof value === 'string') {
    return value.replace(/\//g, "-")
  } else if (value instanceof Date) {
    let dateString = `${date.getFullYear()}-${(date.getMonth() + 1).toString
().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`
return dateString
  } else {
    console.log('This value is neither a string nor a Date.');
  }
}

formDate.completeDate = dateString

java对应参数类

java 复制代码
@JsonFormat(pattern="yyyy-MM-dd", timezone="Asia/Shanghai")
private Date completeDate;

注意特殊情况:

v-model中不要连续嵌套多个变量比如:

如果有多个变量嵌套的情况,则v-model先绑定到一个中介变量,然后通过watch中介变量,转换格式后,再对

a.b.c.myDate赋值。

另外,直接选择日期的时候,一般其实个Date对象,但是很多人会将myDate直接声明为'',所以才会出现可能不能点选的问题,所以才会引入以上需要转化之类的操作。

相关推荐
Trae1ounG1 天前
Vue Iframe
前端·javascript·vue.js
阿部多瑞 ABU1 天前
`tredomb`:一个面向「思想临界质量」初始化的 Python 工具
前端·python·ai写作
比特森林探险记1 天前
React API集成与路由
前端·react.js·前端框架
爱上妖精的尾巴1 天前
8-1 WPS JS宏 String.raw等关于字符串的3种引用方式
前端·javascript·vue.js·wps·js宏·jsa
hvang19881 天前
某花顺隐藏了重仓涨幅,通过chrome插件计算基金的重仓涨幅
前端·javascript·chrome
Async Cipher1 天前
TypeScript 的用法
前端·typescript
web打印社区1 天前
vue页面打印:printjs实现与进阶方案推荐
前端·javascript·vue.js·electron·html
We་ct1 天前
LeetCode 30. 串联所有单词的子串:从暴力到高效,滑动窗口优化详解
前端·算法·leetcode·typescript
木卫二号Coding1 天前
Docker-构建自己的Web-Linux系统-Ubuntu:22.04
linux·前端·docker
daols881 天前
vue2 甘特图 vxe-gantt 一行渲染多个子任务的配置
vue.js·甘特图·vxe-table