首页 > 其他分享 >ant-design-vue日历面板 a-calendar 属性自定义设置

ant-design-vue日历面板 a-calendar 属性自定义设置

时间:2023-04-09 11:47:36浏览次数:47  
标签:vue const 自定义 val month ant date return

通过自定义属性设置,实现一个周末与工作日的不同颜色设置 效果图:

 


使用的属性: 自定义头部设置 headerRender
自定义日期显示 dateFullCellRender
代码:
<template>

  <div class="box">
    <h3>1.自定义头部; 2.自定义日期显示,工作日显示,周末显示</h3>
      <a-calendar
        :fullscreen="false"
        v-model:value="date"
        @panelChange="onPanelChange"
        @select="selectDate"
      >
        <template #headerRender="{ value, type, onChange, onTypeChange }">
          <div class="header">
            {{ format(value) }}
          </div>
        </template>
        <template #dateFullCellRender="{ current: value }">
          <div :class="getDateCss(value)">
            {{ value.date() }}
          </div>
        </template>
      </a-calendar>
  </div>
</template>

<script>
import { ref } from "vue";
import dayjs from "dayjs";
export default {
  name: "params",
  setup() {
    const date = ref();
    const onPanelChange = (a) => {
      console.log(a);
    };
    const selectDate = (val) => {
      date.value = val;
    };
    // 自定义日历头
    const format = (val) => {
      const newVal = dayjs(val).format("YYYY-MM");
      console.log(val, newVal);
      return newVal;
    };
    // 日期样式设置
    const getDateCss = (val) => {
      const day = val.day();
      const currentMonth = dayjs().month() + 1;
      const month = val.month() + 1;
      // 如果不是当前月份
      if (month !== currentMonth) {
        return "date";
      }
      // 如果是周六周日
      if (day === 6 || day === 0) {
        return "date week";
      } else {
        return "date work";
      }
    };
    return {
      date,
      date1,
      onPanelChange,
      format,
      selectDate,
      getDateCss,
    };
  },
};
</script>

<style scoped lang="less">
.box {
  .header {
    padding: 12px;
    text-align: center;
  }
  .date {
    position: relative;
    z-index: 2;
    display: inline-block;
    min-width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 2px;
    transition: background 0.3s, border 0.3s;
    &.work {
      background-color: rgb(20, 134, 228);
    }
    &.week {
      background-color: rgb(193, 240, 97);
    }
  }
}
</style>

 

标签:vue,const,自定义,val,month,ant,date,return
From: https://www.cnblogs.com/steamed-twisted-roll/p/17276760.html

相关文章

  • 将Vue项目部署到Tomcat服务器上(简单、粗暴)
    1.将项目打包Vue中自带webpack,可以通过一行命令将项目打包#执行该命令打包npmrunbuild2.上传相应文件到服务器上打包完成后,项目中会多出一个dist文件夹,这个文件夹中就包含html、css、js等文件直接将dist文件夹上传到Tomcat的ROOT目录下,默认情况下,访问服务器网址......
  • Vue常用指令
    常用指令指令:HTML标签上带有V-前缀的特殊属性,不同指令具有不同含义。常用指令指令作用v-bind为HTML标签绑定属性值,如设置href,css样式等v-model在表单元素上创建双向数据绑定v-on为HTML标签绑定事件v-if条件性的渲染某元素,判定为true时渲染,否则不......
  • html页面里面的button标签使用@click属性时,无法定位到Vue的method里面
    问题解决就很离谱,都是按照网上的教程来的,一直无法定位,之后跟着加上了div标签,加上了id属性,方法还是灰白色,调用不了;后来直接将el属性名称更改掉了,没想到这样就成功识别到了,反正就是逻辑没有出问题,最后也达到期望值了。......
  • vscode 开发 vue3项目 , src 别名 为 @ ,报错
    https://geekdaxue.co/read/me-note@vue/mydm8l需要设置basicURL然后就生效了{"compilerOptions":{//设置解析非相对模块名称的基本目录"baseUrl":".",//设置模块名到基于baseUrl的路径映射,可以设置路径别名的语法提示"paths":{"@/*......
  • 小程序自定义组件 - 数据方法与属性
    这块在组件中的定义和使用,同vue是大致相同的.在小程序组件中定义在.js的Component()中即可.data和methods小程序中,组件数据要定义在data中,而事件处理函数和自定义方法都定义在methods中.以一个页面点击+1的例子作为演示:(还是之前的cj组件)组件......
  • 自定义序列化器类
    @Serialization是一个自定义装饰器,通常用于序列化Python对象。使用@Serialization装饰器可以将一个类转换为可序列化的对象,这样就可以将其存储到文件或通过网络传输。下面是一个使用@Serialization装饰器的示例:importjsondefSerialization(cls):defserializ......
  • 小程序自定义组件 - 创建与引用
    简单理解组件即"页面的一部分".组件化开发也更多是为了代码复用,方便管理和提高开发效率.前端的组件化开发我想大抵也是借鉴后端开发思想吧.从前端的实现来看,以vue为例即通过扩展自定义HTML标签的的形式,让其局部拥有"单文件"的功能(包括了模板,样式,逻辑).然后组......
  • vue2源码-一、rollup环境配置
    npminit-y创建初始化package.json并修改script为"dev":"rollup-cw"安装rollup及其插件:npminstallrolluprollup-plugin-babel@babel/core@babel/preset-env--save-dev创建rollup.config.js对rollup进行配置:配置如下:importbabelfrom'rollup-plugin-bab......
  • Semantic Kernel 入门系列:
    不论你是否关心,不可否认,AGI的时代即将到来了。在这个突如其来的时代中,OpenAI的ChatGPT无疑处于浪潮之巅。而在ChatGPT背后,我们不能忽视的是LLM(LargeLanguageModel)大型语言模型。一夜之间所有的大厂商都在搞LLM,虽然很难有谁能和OpenAI相匹敌,但是随着AI领域的新摩尔定律的发功,......
  • 记录-VueJs中如何使用Teleport组件
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助了解排序算法的优缺点和适用场景是非常重要的,因为在实际开发中,需要根据实际情况选择最合适的排序算法。不同的排序算法适用于不同的场景,有的算法适用于小规模的数据集,有的算法适用于大规模的数据集,有的算法适用于......