微信小程序-日历
思路分析
要实现一个日历,就需要先知道几个值:
当月有多少天
当月第一天星期几
根据常识我们得知,每月最多31天,最少28天,日历一排7个格子,则会有5排,但若是该月第一天为星期六,则会产生六排格子才对。
小程序没有DOM操作概念,故不能动态的往当月第一天的插入多少个空格子,只能通过在前面加入空格子的循环来控制,具体参考 wxml 文件。
日历模板引入
日历模板面板支持 手势左右滑动;
提供跳转至今天方法jumpToToday;
设置日期待办事项标记 setTodoLabels;
删除指定日期待办事项标记 deleteTodoLabels;
清空所有日期待办事项标记 clearTodoLabels;
提供 template 模板引入
引入wxml及wxss
// example.wxml
<import src="../../template/calendar/index.wxml"/>
<view class="calendar-wrap">
<template is="calendar" data="{{...calendar}}" />
</view>
/* example.wxss */ @import '../../template/calendar/index.wxss';
日历组件初始化
import initCalendar, { getSelectedDay, jumpToToday, setTodoLabels, deleteTodoLabels, clearTodoLabels } from '../../template/calendar/index'; const conf = { onShow: function() { initCalendar({ // multi: true, // 是否开启多选, // disablePastDay: true, // 是否禁选过去日期 /** * 选择日期后执行的事件 * @param { object } currentSelect 当前点击的日期 * @param { array } allSelectedDays 选择的所有日期(当mulit为true时,才有allSelectedDays参数) */ afterTapDay: (currentSelect, allSelectedDays) => { console.log('==============================='); console.log('当前点击的日期', currentSelect); console.log('当前点击的日期是否有事件标记: ', currentSelect.hasTodo || false);
allSelectedDays && console.log('选择的所有日期', allSelectedDays); console.log('getSelectedDay方法', getSelectedDay());
}, /** * 日期点击事件(此事件会完全接管点击事件) * @param { object } currentSelect 当前点击的日期 * @param { object } event 日期点击事件对象 */ // onTapDay(currentSelect, event) { // console.log(currentSelect); // console.log(event); // }, /** * 日历初次渲染完成后触发事件,如设置事件标记 */ afterCalendarRender() { setTodoLabels({
pos: 'bottom',
dotColor: '#40',
days: [{
year: 2018,
month: 5,
day: 12,
}, {
year: 2018,
month: 5,
day: 15,
}],
});
},
});
}, deleteTodo() { // 指定需要删除待办标识的日期 deleteTodoLabels([{
year: 2018,
month: 5,
day: 12,
}, {
year: 2018,
month: 5,
day: 15,
}]); // clearTodoLabels(); }, /** * 跳转至今天 */ jump() { jumpToToday();
},
}; Page(conf);
本站所有资源均由网友贡献或各大下载网站转载。请自行检查软件的完整性!本站所有资源仅供学习参考。请不要将它们用于商业目的。否则,一切后果由您负责!如有侵权,请联系我们删除。联系方式:admin@php.cn
相关文章
10 Jul 2024
微信小程序的开发文档提供了一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生APP体验的服务,我们在使用微信时也会使用各种小程序,如果您想删除使用记录,本期教程就可以帮助到您!微信怎么删除小程序使用历史1、打开微信APP。2、点击发现,再点击小程序。3、选择要删除的小程序历史。4、点击删除。5、再次点击删除即可。
22 Jan 2024
怎样加入微信小程序微信小程序的获取方式主要有:一、线下扫码是小程序最基础的获取方式,通过微信扫一扫进入小程序。二、搜索窗口,在微信客户端最上方的,你可以通过搜索获取一个小程序。三、同一主体的小程序和公众号可以进行关联,并相互跳转。开发者可以自主设置该功能。通过公众号查看并进入绑定的小程序,一个公众号最多可以绑定五个小程序,而一个小程序只能被一个公众号绑定。好友推荐小程序,可将有趣实用的小程序转发给好友,但注意不能在朋友圈分享。在微信客户端的“发现-小程序”列表中,你可以找到你曾经使用过的小程序的
13 Aug 2023
ThinkPHP6微信小程序开发:轻松开发小程序应用【导读】随着智能手机和移动互联网的普及,微信小程序已经成为了许多企业和开发者的首选开发平台。在小程序开发领域,ThinkPHP6作为一款流行的PHP框架,为开发者提供了许多便利。本文将介绍如何使用ThinkPHP6开发微信小程序,并附上相应的代码示例,帮助读者快速入门。一、环境准备首先,我们需要确保本地环境
08 Feb 2022
微信小程序可用的开发工具:1、“即速应用”,是一个无需代码一键生成的微信小程序开发工具;2、“Coolsite360”,一款微信小程序可视化设计工具;3、“知晓云”;4、微信官方小程序开发工具。
19 Mar 2024
这篇文章将为大家详细讲解有关微信小程序登录java,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序登录Java实现前言微信小程序登录是开发小程序时常见的功能需求,通过此功能可以获取用户的基本信息并进行身份验证。Java语言提供了多种方法实现微信小程序登录。一、微信开放平台配置在进行登录之前,需要在微信开放平台上配置相关信息:注册小程序:注册一个微信小程序,并获取小程序的AppID和AppSecret。配置服务器域名:配置小程序的服务器域名,用于接受微信
22 Jun 2018
这篇文章主要介绍了微信小程序tabBar用法,结合实例形式详细分析了微信小程序中tabBar的功能、配置项使用方法与操作注意事项,并附带完整demo源码供读者下载参考,需要的朋友可以参考下
19 Mar 2024
这篇文章将为大家详细讲解有关微信小程序支付java,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序支付Java实现微信小程序支付提供了便捷的支付机制,使开发者能够轻松地在其小程序中集成支付功能。以下是使用Java语言实现微信小程序支付的步骤:1.环境准备注册微信小程序并获取AppID和AppSecret引入微信小程序支付SDK配置微信支付商户信息2.订单生成订单生成是微信小程序支付流程中的第一步。需要向微信支付发起统一下单请求,生成预支付订单。Java
07 May 2024
1、打开微信小程序,进入对应的小程序页面。2、在小程序页面中查找会员相关入口,通常会员入口在底部导航栏或个人中心等位置。3、点击会员入口,进入会员申请页面。4、在会员申请页面,填写相关信息,如手机号码、姓名等,完成信息填写后,提交申请。5、小程序方会对会员申请进行审核,审核通过后,用户即可成为微信小程序会员。6、作为会员,用户将享有更多的会员权益,如积分、优惠券、会员专属活动等
20 Apr 2023
随着微信小程序的兴起,越来越多的开发者开始关注如何快速高效地开发小程序。Uniapp作为目前市场上一个比较受欢迎的多端开发框架,是否也可以用于开发微信小程序呢?本文将对Uniapp开发微信小程序进行探讨。一、什么是Uniapp?Uniapp是一种基于Vue.js开发的多端应用框架,它可以将同一份代码同时编译成多个平台(如微信小程序、H5、安卓和iOS等)的应用程序,并提供了相应
Hot tools Tags
Hot Tools
微信小程序demo:仿商城
微信小程序demo:仿商城,上手简单,对商城的一些基本的功能有很好的涉及
外卖:实现类似锚点功能
正是大家需要的类似锚点功能,另外也实现了一些外卖app的典型点菜功能,推荐学习研究;
微信小程序demo:乐助
微信小程序demo:乐助:类似基于地理位置的到位;助人应用,与张小龙的小程序精神有点相似。
微信小程序游戏类demo挑选不同色块
微信小程序游戏类demo挑选不同色块
微信小程序demo:轮播图变换
轮播图样式变换,简单的一个用小程序实现的轮播图,写法容易