vant4无法使用vant-datetime-picker组件可选方法

  • 由于vant4没有了vant-datetime-picke组件,只能使用vant-datetime-picker>:组件,这样接收时间组件的常量必须定义为如"expireTime": []形式否则picker组件无法弹出。

  • 但这样选择时间后expireTime是如[“2023”,“07”,“03”]的形式,无法被后端解析为java.util.Date的形式。

  • 前端可参考如下配置:

<van-date-picker
  v-model="addTeamData.expireTime"
  @confirm="onConfirm"
  @cancel="showPicker = false"
  type="datetime" 
  title="请选择过期时间"
  :min-date="minDate"
        />
const onConfirm = ({selectedValues}) =>{
initFormData.expireTime = selectedValues.join("-");
showPicker.value = false;
};

添加前端格式化工具

npm i moment

提交方法里记得使用moment工具:

//提交
const onSubmit = async () => {
  const postData = {
    ...addTeamData.value,
    status: Number(addTeamData.value.status),
    expireTime: moment(initFormData.expireTime).format("YYYY-MM-DD"),
  }

后端配置:
在application.yml的spring项进行如下配置:

spring:
  application:
    jackson:
      date-format: yyyy-MM-dd
      time-zone: Asia/Shanghai

在需要转换的属性中添加如下注解:

@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date expireTime;
 @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date expireTime;
  • 这样前端传来的时间就不是数组形式而是后端可以转化为java.util.Date的形式了。

  • 不过还有有待完善的点,这样时间只能精确到天,主要是因为vant4的现有的picker组件只能精确到天,这个问题卡住了好久,不想在这一个小问题上花费太多时间,后来有机会再完善。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值