
微信小程序demo提供了一个简单的日历组件,vant也提供了一个日历组件,在github上也有一些日历组件,我试用了一番,都多少存在一些不符合之处。重点说一下vant,它有几个问题:一是加载数据太大,一运行就加载至少一年以上的数据;二是样式不好控制,大小相修改一下就会变形;三是在日期上下方加文字不方便。
因为没有找到太好的组件可以引用,就自己想设计一个能方便控制的,遂有下面的设计,
1、采用grid组件显示日期,分三行,中间一行为日期具体天的数字,上面一行显示大小周提示、下面一行显示排班名称
2、采用scroll-view动态包含grid数目
3、一行显示几天,可以动态设置
1、日历头部
2、日历内容
3、日历结构体
4、具体每个月的日历算法
获取某个月的第一天和最后一天,再获取每天的星期数,循环放到grid结构体中
优点:一是加载数据量少,可控制;二是显示内容丰富,可以控制;三是也是显示可以使用slot,更加丰富
缺点:一不是专业日历组件,样式简单了些;二是加载数据量有限,grid自身也是一个组件,加载多了额外的开销肯定大起来。
子组件:tabs1
父组件:demo04
先将子组件和父组件直接产生特定的联系,需要在demo04.json里面以键值对的方式添加。
添加完毕后在父组件中就可以使用标签,就可以渲染出子组件内容。因为tabs1多次复用,所以数据不能在tabs1.js中写死。一般都是由父组件中data数据传到子组件。
1.先在父组件data中添加list数据,
data: {
list:[{
id:“2”,
name:“梦灵”
},{
id:“1”,
name:“浅夏”
}]
},
2.利用属性绑定的方式传输。
3.在子组件properties接收数据
aaa:{
type:Array,
// 数据类型
value:[]
// 数据值
}
4.在子组件中将数据渲染到页面
{{item.id}} {{item.name}}
附上流程图
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)