Vue2 cube-ui时间选择器详解

2022-04-15 0 383
目录
  • 前言
  • 一、需求及效果
    • 需求
    • 效果
  • 二、代码实现
    • index.vue(html)
    • date
    • methods
    • 测试效果
  • 三、资料参考
    • input
    • TimePicker(时间选择器)
  • 详细在官网地址:
    • 总结

      前言

      vue2 整合 cube-ui 时间选择器(供有点点基础的看)

      一、需求及效果

      需求

      我们要在原搜索的情况下,加搜索时间

      效果

      Vue2 cube-ui时间选择器详解

      Vue2 cube-ui时间选择器详解

      Vue2 cube-ui时间选择器详解

      二、代码实现

      index.vue(html)

      <div class="header">
            <cube-input v-on:focus="showMinPicker('startTime')" v-model="startTime" placeholder="开始时间" :maxlength=30 style="width: 50%;"></cube-input>
            <span>到</span>
            <cube-input v-on:focus="showMinPicker('endTime')" v-model="endTime" placeholder="结束时间" :maxlength=30 style="width: 50%;"></cube-input>
      </div>
      

      解析:

      • cube-input cube自带的输入框。
      • v-on:focus=“showMinPicker(‘startTime’)” v-on监听事件,focus指的是输入框聚焦后触发此事件,如果禁用状态,则不触发。
      • v-model 双向绑定(用于时间显示)
      • maxlength 最大长度

      date

      data () {
          return {
            // 开始时间
            startTime: '',
            // 结束时间
            endTime: '',
            // 时间标识
            timeIdentifying: ''
          }
        }
      

      methods

      methods: {
          // 监听出发选择时间
          showMinPicker (time) {
            if (!this.minPicker) {
              this.minPicker = this.$createDatePicker({
                title: '选择时间',
                visible: true,
                // 最小时间
                min: new Date(2000, 0, 1),
                // 最大时间
                max: new Date(2099, 12, 1),
                // 当前时间
                value: new Date(),
                // 显示的格式
                format: {
                  year: 'YYYY',
                  month: 'MM',
                  date: 'DD'
                },
                // 显示多少列
                columnCount: 3,
                // 选择时间确定后
                onSelect: this.selectHandler,
                // 选择时间取消后
                onCancel: this.cancelHandler
              })
            }
            // 选择时间标识
            this.timeIdentifying = time
            // 显示
            this.minPicker.show()
          },
          // 选择时间确定后 三个参数是不同的时间格式,可能根据自己需求定
          selectHandler (selectedTime, selectedText, formatedTime) {
            let time = ''
            for (let index = 0; index < selectedText.length; index++) {
              if (index === (selectedText.length - 1)) {
                time += selectedText[index]
              } else {
                time += selectedText[index] + '-'
              }
            }
            console.log('开始修改')
            if (this.timeIdentifying === 'startTime') {
              console.log('修改startTime')
              this.startTime = time
            } else if (this.timeIdentifying === 'endTime') {
              console.log('修改endTime')
              this.endTime = time
            }
            console.log('结束修改')
          },
          // 取消事件
          cancelHandler () {
            // 清空选择好的时间
            this.startTime = ''
            this.endTime = ''
          }
        }
      

      测试效果

      Vue2 cube-ui时间选择器详解

      三、资料参考

      input

      Vue2 cube-ui时间选择器详解

      TimePicker(时间选择器)

      Vue2 cube-ui时间选择器详解

      Vue2 cube-ui时间选择器详解

      详细在官网地址:

      官网地址:https://didi.github.io/cube-ui/#/zh-CN

      Cube-ui中文文档地址:https://www.bookstack.cn/read/Cube-UI-zh/30.md

      总结

      本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注NICE源码的更多内容!

      免责声明:
      1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

      2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
      如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
      如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

      NICE源码网 JavaScript Vue2 cube-ui时间选择器详解 https://www.niceym.com/21687.html