watch监听之保险产品如何根据填写生效日期动态的产品的保险期间?

所要的需求是这样的:要根据你选择的生效日期,来动态的显示保险期间的时间

 废话不多说,直接上代码:(核心是用watch监听,监听生效日期的变化并进行相关的操作

validate: function(newvalue) {
      if (this.productId * 1 === 13) {
        // 当天
        let nowtime = new Date(newvalue)
        let year = nowtime.getFullYear() + '年'
        let month = nowtime.getMonth() + 1 + '月'
        let day = nowtime.getDate() + '日'
        let date = year + month + day
        // 7天后
        let mins = nowtime.getTime() + 604800000
        let months = new Date(mins).getMonth() + 1
        let days = new Date(mins).getDate()
        let maxs =
          new Date(mins).getFullYear() +
          '-' +
          (months < 10 ? '0' + months : months) +
          '-' +
          (days < 10 ? '0' + days : days)
        let lasttime = new Date(maxs)
        let yearlast = lasttime.getFullYear() + '年'
        let monthlast = lasttime.getMonth() + 1 + '月'
        let daylast = lasttime.getDate() + '日'
        let datelast = yearlast + monthlast + daylast
        this.date = date
        this.datelast = datelast
        console.log(newvalue, nowtime, lasttime, date, datelast, 'mike')
        console.log(this.date, this.datelast, 'kobe')
        this.policytermList = [
          {
            name: `${this.date}0时起至${this.datelast}24时止,共7天`,
            value: 'term_1'
          }
        ]
      }
    }

先获取当天的时间并转化成“年月日”的格式:

 再获取七天后的时间并转化成“年月日”的格式:

 转化日期的时候要把日期转化成毫秒getTime()之后再进行换算

最后根据获取的前后时间再赋值给保险期间的字段就行了:

 最后结果就是这样的:

原文地址:https://www.cnblogs.com/Ky-Thompson23/p/12894038.html