最近遇到一个需求,根据加减天数,日期也要跟着加减。

效果图:

 1.给操作对象绑定change事件处理函数handleChange()

 <el-form-item label="冻结天数" prop="" v-if="form.frozenDataType==1">
          <el-input-number v-model="num" @change="handleChange"   label="冻结天数">
          </el-input-number>
 </el-form-item>
 <el-form-item label="解冻日期" prop="auditStatus" v-if="form.frozenDataType==1">
          <el-date-picker
            v-model="form.freezeTime"
            type="date"
            placeholder="选择日期">
          </el-date-picker>
 </el-form-item>

2.js定义handleChange()代码

 //动态变化天数
    handleChange(value){
      let date = new Date();//获取当前日期
      date = date.getFullYear() + '-'
        + (date.getMonth()+1) + '-'   // 这里加1是因为getMonth()的返回值是为0~11
        + date.getDate() + ' '
      date = Date.parse(new Date(date))/1000; // 转换成时间戳,返回值是ms,除1000后转化成秒
      date += (86400) * value; // 一天是86400秒
      let newDate = new Date(parseInt(date) * 1000); // 把时间戳转换成日期
     //这步就是给所需变化的值赋值
      this.form.freezeTime = newDate.getFullYear() + '-'
        + (newDate.getMonth()+1) + '-'
        + newDate.getDate() + ' '
    },

以上代码就能实现其功能。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐