Element浅尝辄止11:Calendar日历组件

常用于显示日期

1.如何使用?

/* 设置 value 来指定当前显示的月份。如果 value 未指定,则显示当月。
* value 支持 v-model 双向绑定。
*/

<el-calendar v-model="value">
</el-calendar>

<script>
  export default {
    data() {
      return {
        value: new Date()
      }
    }
  }
</script>

2.自定义内容

//通过设置名为 dateCell 的 scoped-slot 来自定义日历单元格中显示的内容。
//在 scoped-slot 可以获取到 date(当前单元格的日期), data(包括 type,isSelected
//,day 属性)。详情解释参考下方的 API 文档。

<el-calendar>
  <!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
  <template
    slot="dateCell"
    slot-scope="{date, data}">
    <p :class="data.isSelected ? 'is-selected' : ''">
      {{ data.day.split('-').slice(1).join('-') }} {{ data.isSelected ? '✔️' : ''}}
    </p>
  </template>
</el-calendar>
<style>
  .is-selected {
    color: #1989FA;
  }
</style>

3.自定义范围

//设置 range 属性指定日历的显示范围。开始时间必须是周起始日,
//结束时间必须是周结束日,且时间跨度不能超过两个月。

<el-calendar :range="['2019-03-04', '2019-03-24']">
</el-calendar>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 首先需要在 el-calendar 组件中设置特定日期的样式,可以通过 slot-scope 获取到每个日期的具体信息,包括日期、农历、节日等。 ```html <el-calendar :value="date" :range="range" @change="change"> <template slot-scope="{ date, lunar, solarTerm, festival }"> <div class="date"> <div class="day">{{ date.getDate() }}</div> <div class="lunar">{{ lunar.day }}</div> <div class="festival">{{ festival }}</div> </div> </template> </el-calendar> ``` 2. 然后在后端返回的数据中,添加一个标志字段,表示该日期是否需要特殊样式。例如,设置一个 holiday 字段,如果为 true,则该日期需要显示特定样式。 ```json { "date": "2022-01-01", "lunar": { "month": "十一", "day": "廿六" }, "solarTerm": null, "festival": "元旦", "holiday": true } ``` 3. 在 el-calendar 组件中添加一个 class 字段,用来控制该日期的样式。在上述的模板中,可以添加一个判断,如果该日期的 holiday 字段为 true,则添加一个 holiday 的 class。 ```html <el-calendar :value="date" :range="range" @change="change"> <template slot-scope="{ date, lunar, solarTerm, festival }"> <div :class="{ 'date': true, 'holiday': holiday }"> <div class="day">{{ date.getDate() }}</div> <div class="lunar">{{ lunar.day }}</div> <div class="festival">{{ festival }}</div> </div> </template> </el-calendar> ``` 4. 最后,在样式文件中添加 holiday 类的样式,控制该日期的特定样式。例如,可以添加一个红色的标志,表示该日期是节假日。 ```css .holiday { position: relative; } .holiday::after { content: ''; position: absolute; top: 0; right: 0; width: 6px; height: 6px; border-radius: 50%; background-color: red; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值