Vue通过v-for实现年份自动递增

Vue筛选时通过 v-for 实现年份自动递增,供大家参考,具体内容如下

在做数据筛选时一般会用到Element-UI组件的方式进行编写,偶尔也会用平铺的方式对时间进行筛选(类似购物网站的筛选功能),并实现年份的自动增加

以下是用平铺的方式对数据筛选 (已省略表格)
部分解释的可能不太清楚,但也可以实现的

效果图如下

当年份为2022时

当年份为2030时

代码如下

<template>
    <div>
        <div class="block">
            <span>年份
                <el-button class="btnclick" v-for="(item, index) in yearlist" :key="index" size="mini"
                    @click="handleFilterYear(item)" round>
                    {{ item.DText }}
                </el-button>
            </span>
        </div>
        <div class="block">
            <span>月份
                <el-button class="btnclick" v-for="(item, index) in mouthlist" :key="index" size="mini"
                    @click="handleFilterMouth(item)" round>
                    {{ item.DText }}
                </el-button>
                <el-button class="btnclick" type="primary" size="mini" @click="searchClearFun()">重置
                </el-button>
            </span>
        </div>
    </div>
</template> 
<script>
export default {
    data() {
        return {
            serch1: new Date().getFullYear(), //年  默认传当年年份
            serch2: '', //月
            yearlist: [{ //年
                Index: 0,
                DText: '2022'
            }],
            mouthlist: [{ //月
                Index: 0,
                DText: '1'
            }, {
                Index: 1,
                DText: '2'
            }, {
                Index: 2,
                DText: '3'
            }, {
                Index: 3,
                DText: '4'
            }, {
                Index: 4,
                DText: '5'
            }, {
                Index: 5,
                DText: '6'
            }, {
                Index: 6,
                DText: '7'
            }, {
                Index: 7,
                DText: '8'
            }, {
                Index: 8,
                DText: '9'
            }, {
                Index: 9,
                DText: '10'
            }, {
                Index: 10,
                DText: '11'
            }, {
                Index: 11,
                DText: '12'
            }]
        }
    }
    mounted() {
        // 定义年份列表 ,默认为今年 2022 ,当2023时会自动显示 2022  2023  .....
        var nowYearList = new Date().getFullYear();
        var nowYearLength = parseInt(nowYearList) - 2022;
        if (nowYearLength > 0) {
            if (nowYearLength < 2) {
                this.yearlist = [{
                    Index: 0,
                    DText: '2022'
                }]
            } else {
                var yearListArr = [];
                for (var i = 0; i <= nowYearLength; i++) {
                    var yearObj = {};
                    yearObj.Index = i;
                    yearObj.DText = parseInt(2022 + i);
                    yearListArr.push(yearObj)
                }
                this.yearlist = yearListArr
            }
        }
    }
    methods: {
        //年份筛选
        handleFilterYear(item) {
            this.serch1 = item.DText
            this.dataCount();   //调用数据列表的方法
        },
        // 月份筛选
        handleFilterMouth(item) {
            this.serch2 = item.DText
            this.dataCount();  //调用数据列表的方法
        },
        //清空查询
        searchClearFun() {
            this.serch1 = ''  //清空年份
            this.serch2 = ''  //清空月份
            this.dataCount() //调用数据列表的方法
        },
    }
}
</script>
<style scoped lang="scss">
   .block span {
      font-size: 15px;
      display: block;
      text-align: left;
      padding: 20px 0 0 20px;
    }
</style>

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

(0)

相关推荐

  • js实现数字递增特效【仿支付宝我的财富】

    上周五应着公司临时需求,一天的时间解决掉官网(ps:比较简单哈哈),需求里面有一个特效就是数字递增到指定的数值,其实JS写也不复杂的,但是我发现一个js小插件,这个插件轻巧简单,用起来也非常简单实用.在这里分享给小盆友们吧,喜欢的直接拿走. 上面就是这个插件的效果,我们来看一下怎么使用的吧 第一: HTML部分这里简单列举一个 <div class="counter col_fourth"> <h2 class="timer count-title"

  • js实现一个逐步递增的数字动画

    目录 背景 实现类似滚轮的效果,容器固定,数字向上滚动 利用两个元素实现滚动 利用H5的requestAnimationFrame()API实现数字逐步递增的动画效果 计时器对比 requestAnimationFrame实现滚动动画思路 成果展示 背景 可视化大屏项目使用最多的组件就是数字组件,展示数据的一个变化,为了提高视觉效果,需要给数字增加一个滚动效果,实现一个数字到另一个数字逐步递增的滚动动画. 先上一个思维导图: 实现类似滚轮的效果,容器固定,数字向上滚动 先列举所有的可能的值形成一

  • Vue通过v-for实现年份自动递增

    Vue筛选时通过 v-for 实现年份自动递增,供大家参考,具体内容如下 在做数据筛选时一般会用到Element-UI组件的方式进行编写,偶尔也会用平铺的方式对时间进行筛选(类似购物网站的筛选功能),并实现年份的自动增加 以下是用平铺的方式对数据筛选 (已省略表格)部分解释的可能不太清楚,但也可以实现的 效果图如下 当年份为2022时 当年份为2030时 代码如下 <template>     <div>         <div class="block"

  • SQLite之Autoincrement关键字(自动递增)

    SQLite 的 AUTOINCREMENT 是一个关键字,用于表中的字段值自动递增.我们可以在创建表时在特定的列名称上使用 AUTOINCREMENT 关键字实现该字段值的自动增加. 注意点:整型字段可以使用关键字AUTOINCREMENT. 语法 AUTOINCREMENT关键字的基本用法如下: CREATE TABLE table_name( column1 INTEGER AUTOINCREMENT, column2 datatype, column3 datatype, ..... c

  • MySql数据库自动递增值问题

    Create TABLE test ( id INT UNSIGNED NOT NULL PrimaRY KEY AUTO_INCREMENT, username VARCHAR(15) NOT NULL ) AUTO_INCREMENT = 100; 在数据库应用,我们经常要用到唯一编号,以标识记录.在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成.MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性. ISAM表 如果把一个NU

  • 使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题

    在终端中运行以下命令: vue create xxx // xxx为项目名称,例如 vue-project 然后,系统会提示我们选择默认预设或手动选择功能.使用向下箭头键,我们手动选择功能,然后按Enter键. 然后,我们将看到一系列功能选项.使用向下箭头键,我们将向下移动并使用空格键选择需要的功能,然后按回车键. Linter / Formatter 就是代码风格. 我们将使用 ESLint + Prettier 我们将在保存时添加Lint的附加功能. 我们将选择单独的配置文件. 我们可以选择

  • vue实现tab标签(标签超出自动滚动)

    当创建的tab标签超出页面可视区域时自动滚动一个tab标签距离,并可手动点击滚动tab标签,实现效果请看GIF图 效果预览GIF图 <template> <div class="main-box"> <button @click="add">添加</button> <div class="main-box-tab"> <i @click="previous"&g

  • 关掉vue插件Vetur格式化的时候自动添加的样式操作

    目录 1 点击左下角设置按钮 2 点击设置到设置界面 3 在搜索栏输入需要查找的配置 4 点击我们想要修改的配置项 5 把默认项prettier修改为vscode-typescript 前言: 刚用Vetur的时候会发现只要格式化就会加什么小括号,冒号之类杂七杂八的标点符号.看着特别别扭,现在手把手教你如何关掉这个功能,傻瓜式教学.专门为小白设计 先打开vscode 1 点击左下角设置按钮 2 点击设置到设置界面 3 在搜索栏输入需要查找的配置 Vetur › Format › Default

  • vue+elementUi实现点击地图自动填充经纬度以及地点

    本文实例为大家分享了vue+elementUi实现点击地图自动填充经纬度以及地点的具体代码,供大家参考,具体内容如下 实现代码 1.安装组件终端运行: npm install vue-baidu-map --save 2.HTML代码块 <el-form-item label="经度" :label-width="formLabelWidth" prop="longitude">     <el-input  class=&qu

  • vue实现动态添加数据滚动条自动滚动到底部的示例代码

    在使用vue实现聊天页面的时候,聊天数据动态加到页面中,需要实现滚动条也自动滚动到底部.这时我找到网上有个插件 vue-chat-scroll https://www.npmjs.com/package/vue-chat-scroll 但是安装后发现是用不了的,报错信息如下: VM14383:27 [Vue warn]: Failed to resolve directive: chat-scroll (found in <Hello>) 这个一直找不到原因,可能是我vue的版本是2.2不支持

  • vue单文件组件lint error自动fix与styleLint报错自动fix详解

    问题描述 之前用Vue(多入口打包成多页)的项目,要修改迁移并修改为一个单页应用,且使用Vue脚手架生成项目,要对js,vue,css文件的代码做lint,在修改Webpack配置后第一次跑lint居然报了几万个Error,且是在eslint加了--fix选项的情况下,且错误大多集中在顺序问题上也就是vue/order-in-components和order/properties-order的错误.以下是问题的解决方式及过程记录. stylelint中css属性顺序错误 .stylelint的配

  • DB2 自动递增字段实现方法

    使用这个一般是用作识别码的,当做定义表格的主键.generated语法则可以自定义你想怎么产生这个值的策略. 语法如下: column definition generated {always | by default} as {identity identity rules | using your rules} 我们先删掉上次我们建立的表格: db2 => drop table nomination 然后再创建一个表格: 复制代码 代码如下: Create table nomination

随机推荐