前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >uni-app上班考勤打卡情况日历展示

uni-app上班考勤打卡情况日历展示

作者头像
王小婷
发布2019-12-19 23:04:38
3.5K0
发布2019-12-19 23:04:38
举报
文章被收录于专栏:编程微刊编程微刊

需求:请求后端接口数据,(每个月的打卡情况),并且将数据展示在日历里面

步骤

1:找到官网教程文档,实现一个静态的展示页面,https://ext.dcloud.net.cn/plugin?id=56

代码语言:javascript
复制
<template>
    <view>
        <uni-calendar 
        :insert="true"
        :lunar="true" 
        :start-date="'2019-3-2'"
        :end-date="'2019-5-20'"
        @change="change"
         ></uni-calendar>
    </view>
</template>

<script>
    import uniCalendar from '@/components/uni-calendar/uni-calendar.vue'
    export default {
        components: {
            uniCalendar
        },
        data() {
            return {};
        },
        methods: {
            change(e) {
                console.log(e);
            }
        }
    };
    </script>

大概是这样的,如果有不懂的地方可以查看官方文档说明

2:用于展示打开情况,我这里选择了用红色点标记,在view里面写上:selected="selected",并且在data里面定义要展示的数据

代码语言:javascript
复制
<template>
    <view>
        <uni-calendar 
        :insert="true"
        :lunar="true" 
        :selected="selected"
        :start-date="'2019-3-2'"
        :end-date="'2019-5-20'"
        @change="change"
         ></uni-calendar>
    </view>
</template>

<script>
    import uniCalendar from '@/components/uni-calendar/uni-calendar.vue'
    export default {
        components: {
            uniCalendar
        },
        data() {
                     return {
       
                       selected: [{
                           date: '2019-12-1'
                       }, {
                           date: '2019-12-3'
                       }, {
                           date: '2019-12-4'
                       }, {
                           date: '2019-12-6'
                       }]
                           };
               },
        methods: {
            change(e) {
                console.log(e);
            }
        }
    };
    </script>

这个时候,就可以看到自己想要标记的日期了,但是这些都是前端静态展示,实际项目中,需要请求接口数据,并且渲染

3:将data()数据写在前端的模拟接口里面,前面在uni-app项目里使用node服务实现模拟接口https://cloud.tencent.com/developer/article/1554342,现在就可以派上用场了

将数据写入文件,并且运行node --inspect server.js,可以看到接口可以访问了

代码语言:javascript
复制
let data = {
   
    "selected": [{
        "date": '2019-12-1'
    }, {
        "date": '2019-12-3'
    }, {
        "date": '2019-12-4'
    }, {
        "date": '2019-12-6'
    }]
}
module.exports = {
  data: data
}

4:写一个请求uni.request,请求接口,并且将接口返回数据赋值到自己在data里面定义的空数组中。

完整示例代码:

代码语言:javascript
复制
<template>
    <view>
        <uni-calendar :insert="true" :lunar="true" :selected="selected" :start-date="'2019-3-2'" :end-date="'2019-5-20'"
         @change="change"></uni-calendar>
    </view>
</template>
<script>
    import uniCalendar from '@/components/uni-calendar/uni-calendar.vue'
    export default {
        components: {
            uniCalendar
        },
        data() {
            return {
                selected: [],
            };
        },
        onLoad() {
            this.getList();
        },
        methods: {
            getList() {
                uni.request({
                    url: 'http://localhost:3000/data3',
                    success: (res) => {
                        console.log(res.data);
                        this.selected = res.data.selected;
                    }
                });
            },
            change(e) {
                console.log(e);
            },
        }
    };
</script>

OK,显示成功了,撒花~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 步骤
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档