Hzy0913 / mpvue-calendar

📅 A calendar component for vue3.0. Support gesture sliding, range selection, according to the week switch...
http://preview.binlive.cn/mpvue-calendar#/
MIT License
514 stars 105 forks source link

设置almanacs时候的相关问题 #78

Closed fengdygaga closed 4 years ago

fengdygaga commented 4 years ago

image almanacs数据是后台传过来的(这边方便展示直接写死了) 赋值以后就出现问题了,原本应该显示下图的 image 结果渲染成下图了 image 点击任意日期后又恢复原样了,这个到底是什么原因呢? 还有almanacs里的值,每年都要变,但是almanacs不支持年份, 所以我想写成如下的需求应该怎么改呀 谢谢作者~ this.almanacs={ "2020-4-4": "清明","2020-4-5": "清明","2020-4-6": "清明"}

Hzy0913 commented 4 years ago

节日一般都是固定日期的,如果是农历节日已经做了处理,节假日是每年会更新,需要定期做数据更新,如果要设置具体到年份的可以使用 tileContent 参数

Hzy0913 commented 4 years ago

我不太好能复现你的问题,可以参考下demo里的

fengdygaga commented 4 years ago

我不太好能复现你的问题,可以参考下demo里的

<template> <div> <div style="width:400px"> <Calendar lunar :tileContent="tileContent" :almanacs="almanacs"/> </div> </div> </template>

<script> import Calendar from "mpvue-calendar"; import "mpvue-calendar/src/browser-style.css"; export default { components: { Calendar }, data() { return { almanacs:'', tileContent: [] } }, mounted(){ this.int() }, methods: { int(){ this.almanacs={ "4-12": "复活节"} this.tileContent= [ { date: "2020-4-4", className: "holiday", content: "休" }, { date: "2020-4-5", className: "holiday", content: "休" }, { date: "2020-4-6", className: "holiday", content: "休" }, ] } } } </script>

int方法中给almanacs赋值后 holiday样式无法渲染出来 作者可以注释掉this.almanacs={ "4-12": "复活节"}这行对比下

Hzy0913 commented 4 years ago

@fengdygaga 感谢反馈,已修复,安装 mpvue-calendar@2.3.6 版本

fengdygaga commented 4 years ago

@Hzy0913 好的 谢谢作者大大~ 我还发现个问题= = 还是上面我回复你贴的那段代码 1111

4-12日复活节这个节点 初始化的时候没有渲染‘isLunarFestival’这个类名 导致没有样式 点击任意日期后 就渲染上了‘isLunarFestival’这个类名

fengdygaga commented 4 years ago

<template> <div> <div style="width:400px"> <Calendar lunar :tileContent="tileContent" :almanacs="almanacs"/> <button @click="changeTileContent">改变tileContent</button> </div> </div> </template>

<script> import Calendar from "mpvue-calendar"; import "mpvue-calendar/src/browser-style.css"; export default { components: { Calendar }, data() { return { almanacs:{}, tileContent: [] } }, mounted(){ this.int() }, methods: { int(){ this.almanacs={ "4-12": "复活节"} this.tileContent= [ { date: "2020-4-4", className: "holiday", content: "休" }, { date: "2020-4-5", className: "holiday", content: "休" }, { date: "2020-4-6", className: "holiday", content: "休" }, ] }, changeTileContent(){ this.tileContent= [ { date: "2020-4-26", className: "workday", content: "班" }, ] } } } </script>

当改变tileContent数据时 页面上无法响应式改变 ,点击任意日期才会改变

Hzy0913 commented 4 years ago

@fengdygaga 感谢反馈,已修复,更新 mpvue-calendar@2.3.7 版本

fengdygaga commented 4 years ago

@Hzy0913 好的,谢谢。