vue日期时间选择组件,vue时间选择控件_1

  vue日期时间选择组件,vue时间选择控件

  本文主要详细介绍vue的自定义可选时间的日历组件。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  本文分享了vue自定义可选时间日历组件的具体代码,供大家参考。具体内容如下

  

日历功能:

  1.不能选择过去的时间。

  2.不可选择的时间可以定制。

  3.本月默认的展览日,其他月份的第一天。不可选的话,后面就延期了。

  

效果图:

  -下面开始表演-

  * *首先画日历页面布局,参考win10系统的日历布局*6行7列。为什么?请自己理解……*我是来“偷看”自己的。

  BeginDay是当月的第一天是星期几,prevMdays是上月的总天数,nowMdays是当月的总天数,实现了日历的显示效果。一些可能被使用的数据日期被捆绑到标签中。

  div class= date content-body-day v-for= item in 42 :key= item

  差异

  v-if= item-begin day 0 item-begin day=nowMdays

  :class={

  active-day :` $ { year }/$ { month }/$ { item-begin day } `==curDate

  }

  @click=dayHandler

  :数据年份=年份

  :数据-月=月

  :数据日期=项目开始日期

  :data-dates=年/月/(项目开始日期)

  {{ item - beginDay }}

  /div

  div class= other-day v-else-if= item-begin day=0

  {{ item - beginDay prevMdays }}

  /div

  div class= other-day v-else { { item-begin day-nowMdays } }/div

  /div

  —下一个…

  使用的数据:

  *活动日是突出显示的一天,即选定的日期。curDate控制选择哪一天。在这里,默认情况下,会打开一个props数据计时器,并且允许将一些自定义日期作为不可选择的日期传入。如果在点击日期中绑定的日期存在于数组中,它将被返回。如果可以选择的话,选择的结果将通过$emit通过chooseDate事件公开。

  //点击切换日。

  日处理器(e)

  console . log(e);

  var daNum=e . target . dataset;

  if(this . cant time . index of(danum . dates)-1){

  这个。$toast(非开放日期,不可选择);

  返回;

  }

  如果(

  ` $ { danum . year }/$ { danum . month }/$ { danum . day } `=

  ` $ {新日期()。getFullYear()}/${new Date()。getMonth()

  1 }/$ {新日期()。getDate()} `

  ) {

  this . date=e . target . dataset . day;

  这个。$emit(

  选择日期,

  今年/今年.月/今年.日期

  );

  }否则{

  这个。$toast(不能选择过去的时间);

  }

  },

  //下个月切换

  “下个月(){

  如果(this.month==12) {

  this . month=1;

  今年;

  }否则{

  本月;

  }

  },

  观察切换月份和日期,重点是月份的变化,不知道手表有没有被滥用。

  ` ` javascript

  观察:{

  日期(val,oldval) {

  if (val) {

  this . curdate=` $ { this . year }/$ { this . month }/$ { this . date } `;

  }

  },

  月(val,oldval) {

  if (val) {

  var ndate

  for(var I=1;i=31i ) {

  console . log(` $ { this . year }/$ { this . month }/$ { I } `);

  if(this . cant time . index of(` $ { this . year }/$ { this . month }/$ { I } `)0){

  Console.log(不存在值,停止,日期停留在 I );

  ndate=I;

  打破;

  }

  }

  console.log(ndate,` $ { this . year }/$ { this . month }/$ { ndate } `);

  //将切换后的月份与今天进行比较,默认选择下个月,当天选择当月。

  如果(

  ` $ {今年}/$ {本月}/1

  ` $ {新日期()。getFullYear()}/${new Date()。getMonth()

  1 }/$ {新日期()。getDate()} `

  ) {

  this . curdate=` $ { this . year }/$ { this . month }/$ { ndate } `;

  this.date=ndate

  }否则{

  for (var i=新日期()。getDate();i=31i ) {

  控制台。日志(2 `$ { this。year }/$ { this。month }/$ { I } `);

  如果(这个。不能计时。的索引(` $ { this。year }/$ { this。month }/$ { I } `)0){

  this.curDate=` $ {新日期()。getFullYear()}/${new Date().getMonth()

  1 }/$ { I } `;

  这个。日期=I;

  打破;

  }

  }

  }

  这个发出(

  选择日期,

  今年/今年。月/今年。日期

  );

  }

  }

  },

  父组件中调用

  日历:time arry= time array @ choose date= choose handler /calendar

  从" @/components/index.js "导入{日历、提醒框};

  导出默认值{

  组件:{日历,警报框

  },

  这样的日历就完成了。

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: