iview的时间日期选择器DatePicker中的type="datetime",

日期限制不能选择当前日期之前的日期可以使用属性options,

现有需求限制时分秒也不能选择当前的可以使用属性time-picker-options,time-picker-options有几个参数分别是disabledHours、disabledMinutes、disabledSeconds

此外还有一个steps在此就不多说了,有需要可以去了解官网

上代码:

下面是html代码

<DatePicker
            v-model="formValidate.captchaEffectTime"
            :options="options4"
            :time-picker-options="{disabledHours: disabledHours,disabledMinutes:disabledMinutes,disabledSeconds:disabledSeconds}"
            type="datetime"
            format="yyyy-MM-dd HH:mm:ss"
            placeholder=""/>

接下来是data初始化中的代码:

options4: {
        disabledDate (date) {
          return date && date.valueOf() < Date.now() - 86400000// 不能选今天之前的日期
          // return date && date.valueOf() > Date.now() - 86400000;//不能选今天和今天之后的日期
        //   return date && date.valueOf() > Date.now()// 不能选今天之后的日期
        }
      },
disabledHours: [], // 审批不可选择时
      disabledMinutes: [], // 审批不可选择分
      disabledSeconds: []// 审批不可选择秒

下面是定义当前时间之前的时分秒,限制可选择:

getTimePickerOptions () {
      let d = new Date()
      let hour = d.getHours()
      let minute = d.getMinutes()
      let second = d.getSeconds()

      for (let i = 0; i < hour; i++) {
        this.disabledHours[i] = i
      }
      for (let i = 0; i < minute; i++) {
        this.disabledMinutes[i] = i
      }
      for (let i = 0; i < second; i++) {
        this.disabledSeconds[i] = i
      }
      // console.log(this.disabledHours)
      // console.log(this.disabledMinutes)
      // console.log(this.disabledSeconds)
    },

getTimePickerOptions方法可以在需要的时候调用,

到此就完成啦,希望可以帮助到各位同学o(* ̄▽ ̄*)ブ

Logo

前往低代码交流专区

更多推荐