vue 日历插件ele-calendar

news/2024/7/24 11:01:55 标签: vue

由于项目中需要一个日历功能我比较懒不想自己写所以就找了一插件,不过样式不符合要求自己又改了一下。

原版样式

组件原版

修改后样式

修改后

全局引入

npm install ele-calendar

组件中使用

//html部分
<template>
    <div>
        <div style="width: 335px;height: 600px;margin: 30px auto">
            <ele-calendar
                    :render-content="renderContent"
                    :data="datedef"
                    :prop="prop"
                    @pick="datePick"
                    @date-change="getMonth"
            ></ele-calendar>
        </div>
    </div>
</template>
// script 部分
<script>
    // 引入
    import eleCalendar from 'ele-calendar'
    import 'ele-calendar/dist/vue-calendar.css'
    export default {
        name: "ElementTest",
        data() {
            return {
                datedef: [
                    {"date": "2020-03-30", "content": null, "cid": null},
                    {"date": "2020-03-26", "content": null, "cid": null},
                ],
                prop: 'date' //对应日期字段名
            }
        },
        components: {
            eleCalendar
        },
        methods: {
       		// 通过render-content的渲染Function 自定义日历显示内容
            renderContent(h, parmas) {
            	// 自定义样式,我返回的是小点(橘黄色)
                const loop = (data) => {
                    return data.defvalue.value ? h('div',
                        [
                            h('div', data.defvalue.text), h('div',{
                            style: {
                                width: '4px',
                                height:'4px',
                                margin: '0 auto',
                                borderRadius: '4px',
                                backgroundColor:'red',
                            }
                        }, '')]) : h('div', [h('div', data.defvalue.text)
                        ]
                    )
                }
                return h('div', {
                    // 给div绑定样式
                    style: {
                        minHeight: '45px'
                    },
                    click() {
                    }
                }, [loop(parmas)])
            },
            // 获取点击的日期 返回为标准格式 使用date.get方法获取想要的数据
            datePick(date, event, row, dome) {     
            	console.log(date); // Tue Mar 03 2020 00:00:00 GMT+0800 (中国标准时间)        
                var d = new Date(date);
                console.log(d.getDate()); //  点击日
                console.log(d.getMonth() + 1);    // 点击月    
            },
            // 点击切换月/年按钮时返回的数据 格式为标准格式
            getMonth(data){
            	console.log(data); // Fri Apr 03 2020 00:00:00 GMT+0800 (中国标准时间)
                var d = new Date(data); // 点击月
                console.log(d.getMonth() + 1)
                //d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + 	
                //d.getSeconds()		// 标准时间转化       方法
            }
        }
    }
</script>

修改部分

.el-date-table-calendar td.current[data-v-55be3324]:not(.disabled) 格内样式
 color: #fff;
      background-color: #5cadff;
      border-radius: 50%;
.el-date-picker-calendar table    table 样式
 	padding: 10px;
    box-sizing: border-box;
    table-layout: fixed;
    width: 100%;
@date-change="getMonth" 年份月份点击绑定事件

原文地址: https://segmentfault.com/a/1190000015382208?utm_source=tag-newest
项目地址:https://github.com/xuyanming/ele-calendar

总结

感谢插件作者,让我这种懒人轻松了好多!分享一下,能帮到大家就很好了。

http://www.niftyadmin.cn/n/1342606.html

相关文章

怎样在文章末尾添加尾注(将尾注的数字变为方括号加数字)

在进行文章编写或者需要添加注解时&#xff0c;需要进行尾注的添加&#xff0c;下面将详细说明如何进行尾注的添加 操作 首先打开需要进行添加尾注的文档&#xff0c;将光标移动至需要进行添加尾注的文字后。 紧接着在上方工具栏中&#xff0c;选择引用&#xff0c;在引用页…

《Effective C++第三版》读书笔记——设计与声明

4 设计与声明 ~~~~~~~~~~~~~ 4.1 让接口容易被正确使用,不易被误用 1. 许多客户端错误可以因为导入新类型而获得预防. 一旦使用了新类型,限制其值就顺其自然了. 2. 任何接口如果要求客户必须记得做某事,就是有着不正确使用的倾向,因为客户可能会忘记做那件事. 4…

Spring Boot入门第二天:一个基于Spring Boot的Web应用,使用了Spring Data JPA和Freemarker。...

原文链接 今天打算从数据库中取数据&#xff0c;并展示到视图中。不多说&#xff0c;先上图&#xff1a; 第一步&#xff1a;添加依赖。打开pom.xml文件&#xff0c;添加必要的依赖&#xff0c;完整代码如下&#xff1a; <?xml version"1.0" encoding"UTF-8…

vue独立开发项目搭建流程

首先github上创建仓库 方便代码管理我这边使用git的工具sourcetree ,先把项目拉取到本地创建vue项目,这个就不说太多了 创建好了基本就是这个样子了 安装常用插件(axios,ui插件,echarts…什么的) 这些网上都有,直接查一下,npm安装就好了 这是我这个项目用到的,在package.j…

【原创】MySQL Proxy - 脚本

2019独角兽企业重金招聘Python工程师标准>>> 【15.7.4. MySQL Proxy Scripting】 &#xff08;下面这些章节可以参考后面的译文&#xff09; 15.7.4.1. Proxy Scripting Sequence During Query Injection 15.7.4.2. Internal Structures 15.7.4.3. Capturing a Con…

2020 前端VUE面试(杭州)

前两天一个朋友来杭州找工作了,我整理了下他的面试题 先说下他的情况: 19年毕业,差不多一年工作经验,前端。刚开始找了一周,面试寥寥,我让他改成两年工作经验,实习一年工作一年。 不是想骗什么,主要是现在疫情原因,工作不好找,他写了一年工作经验,都没人理他。这个东西也不是简…

git checkout 撤销多个文件,撤销整个文件夹

git checkout 撤销多个文件&#xff0c;撤销整个文件夹 git checkout <folder-name>/ git checkout -- <folder-name> 这样会把<fold-name>下所有的文件都撤销转载于:https://www.cnblogs.com/ibingshan/p/10407335.html

电梯系统OO设计

电梯系统OO设计 2015年09月17日 17:43:52 binling 阅读数&#xff1a;2858版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/binling/article/details/48520391理论上应该先黑盒用例&#xff0c;分析需要求&#xff0c;系统边…