element-ui 季度选择器

这篇具有很好参考价值的文章主要介绍了element-ui 季度选择器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 最近在vue项目练习时发现element-ui没有关于季度的选择器,周、年、月这些都有。于是参考网上大神写的自己搞了一个简易版本。项目需求是选择某年某一个季度,然后获得该季度第一天和最后一天的时间戳来获取数据。最后结果如图:

element-ui 季度选择器

本篇文章参考了 element季度选择控件_Ponnenult的博客-CSDN博客_element季度选择前言: 季度选择控件,element官网没有提供。实现效果: 默认是当前月份的季度实现原理:在页面上放一个input,然后点击出现card卡片,卡片里面放季度的内容封装组件源码:源码api见最下面<template> <div> 日期 <!--背景-点击可关闭卡片--> <mark class="bgCard" v-if="showSeason" @click....https://blog.csdn.net/weixin_44727080/article/details/115064431

如果想看完美版本,请看上面网址内容


1 创建子组件 quarter.vue

<template>
 <div>
    <span>请选择季度:</span>
    <el-input v-model="seasonValue" class="w-50 m-2" placeholder="请选择季度" style="width:250px" @focus="showSeason = true">
        <template #prefix>
          <el-icon class="el-input__icon"><calendar /></el-icon>
        </template>
    </el-input>
     <el-card class="box-card" v-if="showSeason" style="height:180px;margin-left:60px;margin-top:10px;width:300px;z-index:999;position:fixed">
        <template #header>
        <div class="card-header">
            <el-button  @click="prev" style="border:none"><el-icon><ArrowLeft /></el-icon></el-button>
            <span style="text-align:center">{{year}}</span>
            <el-button  @click="next" style="border:none"><el-icon><ArrowRight /></el-icon></el-button>
        </div>
        </template>
        <div class="text item" style="text-align:center;">
        <el-button
          type="text"
          size="medium"
          style="width:40%;color: #606266;float:left;"
          @click="selectSeason('第一季度')"
        >第一季度</el-button>
        <el-button
          type="text"
          size="medium"
          style="float:right;width:40%;color: #606266;"
          @click="selectSeason('第二季度')"
        >第二季度</el-button>
      </div>
      <div class="text item" style="text-align:center;">
        <el-button
          type="text"
          size="medium"
          style="width:40%;color: #606266;float:left;"
          @click="selectSeason('第三季度')"
        >第三季度</el-button>
        <el-button
          type="text"
          size="medium"
          style="float:right;width:40%;color: #606266;"
          @click="selectSeason('第四季度')"
        >第四季度</el-button>
      </div>
    </el-card>
 </div>
</template>
<script>
export default {
  data() {
    return {
      showSeason: false, //是否显示选择季度面板
      year: new Date().getFullYear(), //默认当前年
      seasonValue: '', //input中显示的内容
      time:{
         stTime:'',
         edTime:''
      }
     
    }
  },
  created() {
  },
  methods: {
    prev() {
      this.year = +this.year - 1
    },
    next() {
      this.year = +this.year + 1
    },
    selectSeason(quarter) {
        this.seasonValue = this.year.toString() + '-' + quarter.toString()
        this.showSeason = false
        switch(quarter){
            case '第一季度':
                this.time.stTime = this.year.toString() + '-01-01' + ' ' + '00:00:00'
                this.time.edTime = this.year.toString() + '-03-31' + ' ' + '23:59:59'
                break;
            case '第二季度':
                this.time.stTime = this.year.toString() + '-04-01' + ' ' + '00:00:00'
                this.time.edTime = this.year.toString() + '-06-30' + ' ' + '23:59:59'
                break;
            case '第三季度':
                this.time.stTime = this.year.toString() + '-07-01' + ' ' + '00:00:00'
                this.time.edTime = this.year.toString() + '-09-30' + ' ' + '23:59:59'
                break;
            case '第四季度':
                this.time.stTime = this.year.toString() + '-10-01' + ' ' + '00:00:00'
                this.time.edTime = this.year.toString() + '-12-31' + ' ' + '23:59:59'
                break;
        }
        this.$emit('getQuarter',this.time)  //传值给父组件
    }
  }
}
</script>

2 父组件引用

<quarter @getQuarter="getQuarter"></quarter>
import quarter from './quarter.vue'
components: {
    quarter
  },
//获取季度子组件传回的数据
getQuarter(val:any){
  this.dataForm.stTime = (new Date(val['stTime']).getTime()/1000).toString()
  this.dataForm.edTime = (new Date(val['edTime']). getTime()/1000).toString()
 },

这样就OK了,嘻嘻嘻文章来源地址https://www.toymoban.com/news/detail-509628.html

到了这里,关于element-ui 季度选择器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element-ui 下拉选择同时可输入

    element-ui在下拉选择的同时可以输入,看官方文档的时候,发现只有allow-create勉强符合需求,可以创建并选中选项中不存在的条目,但是不能满足输入失焦以后就是输入的值,搜了网上一圈,终于找到了答案~使用blur:

    2024年02月17日
    浏览(41)
  • element-ui 修改时间选择器样式

    因为elementUI的时间选择器el-date-picker是将元素直接挂载到页面的 body 中,而非自身元素下,所以使用 /deep/ 穿透也是无法定位到元素的。 解决方案: 利用时间选择器的 popper-class 属性,给其设置样式。 然后再在src/assets下创建style.scss,在该文件里面进行样式的编写 最后再引入

    2024年02月11日
    浏览(54)
  • 基于element-ui的年份范围选择器

    下载对应的代码到本地 文件地址,以下是我的目录结构,我将下载的文件放到了src/components下。 全局引入或者局部引入使用 全局引入 局部引入 调用方法,下面的参数和element-ui原有el-date-picker的api保持不变 日期限制处理(禁用),下面我以我这边的需求为例, 选择的年份需等

    2024年02月07日
    浏览(52)
  • element-ui日期选择器时间差

    #主要记录三个问题 日期选择器选择时获取到的格式相差八小时 当日期格式为–拼接时,转成时间戳会相差八小时(2023-03-09) DatePicker设置区域范围和校验(暂无,明天加上) 由于element-ui日期选择器用的时间为世界标准时间,我们国家的标准时间为东八区,所以会有8小时时间

    2024年02月08日
    浏览(50)
  • element-ui 日期选择器选择年份,拼接月日,并控制范围

    element-ui 日期选择器选择年份,拼接月日,并控制范围。 type=\\\"year\\\",控制下拉选项为年份 format=\\\"yyyy-MM-dd\\\"、value-format=\\\"yyyy-MM-dd\\\",控制文字显示为年月日 此时选中年份会显示选中年的第一天【2023-01-01】,如果有规定月-日的需求,可以在选中事件里重新赋值。 :picker-options=\\\"pick

    2024年02月08日
    浏览(57)
  • 自定义日历.element-ui 修改时间选择器样式

    目录 一、自定义日历 二、时间选择样式自定义 先上效果图 已经封装成vue组件,可选择切换年月:  因 element-UI的时间选择器 el-date-picker 是将元素直接挂载到页面的 body 中,而非自身元素下,所以使用  /deep/、 、  ::v-deep  等穿透无法定位到元素。 解决方案: 利用时间选择

    2024年02月12日
    浏览(49)
  • element-ui时间选择器(DatePicker )数据回显

    目录 前言 一、element-ui时间选择器(DatePicker )是什么? DatePicker 日期选择器 二、返回数据格式 1.引入 总结 需求: element-ui时间选择器(DatePicker )数据回显,后台返回数据时间,然后回显到前台展示。 效果:   DatePicker 日期选择器 用于选择或输入日期 https://element.eleme.c

    2024年01月19日
    浏览(43)
  • 基于Element-ui 表单弹窗列表选择封装

    不知道怎么描述这个东西了。。el-select下拉框大家都知道,但是下拉框只能选择一个,而且如果数据太多的话也不太容易选择,所以这里就是封装了组件包含对应的弹窗,就是能实现多选,而且列表也是分页展示的,选择完之后将对应的名称展示在文本框中,传给后端对应的

    2024年02月11日
    浏览(42)
  • 【vue组件】使用element-ui 实现三级联动下拉选择

    实现的思路是第一个下拉选择在选择了选项后将该选项的信息传递到接口请求下一个选项的内容,依次类推 然后在清除了上一级选择的选项后要将其次级和子孙级的选项都清除(包括选择里的列表内容) 下面看具体代码: 效果图:

    2024年02月11日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包