最近接触到一个需求,做一个值班排班表,拿到低保真之后一直在考虑是如何实现这个排班表,考虑过自己写,也考虑过@fullcalendar/vue插件,经过一些评估之后最终选择了项目本身使用的element-ui组件库中Calendar日历组件,但是在使用过程中发现此组件api少的可怜,连基本的一些点击事件都没透传出来,这样就不太好去实现根据月份查询排班信息,但是作为前端老司机总归是能解决的。
解决方案想过有成功的,也有失败的,我都贴出来,可以看看。
1、方案一:computed子组件的curMonthDatePrefix,然后再用watch监听curMonthDatePrefix,结论:失败,对curMonthDatePrefix的watch没任何反应。
computed: {
curMonthDatePrefix() {
let myCalendar = this.$refs.myCalendar;
return myCalendar? myCalendar.curMonthDatePrefix : "" ;
},
},
watch: {
curMonthDatePrefix: {
immediate: true,
handler: function (newval, oldval) {
console.log("value", this.value);
console.log("testnewval", newval);
console.log("testoldval", oldval);
},
},
},
2、方案二:像watch对象中某个属性一样,结论:失败,对curMonthDatePrefix的watch没任何反应。<