IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue-element列表el-date-picker实现自定义高亮显示日期 -> 正文阅读

[JavaScript知识库]Vue-element列表el-date-picker实现自定义高亮显示日期

一、需要来源

一个需求,需要在列表里面的按钮点击弹窗日期选择,然后disable指定的日期间值。

话不多说,先上效果图

Note:这个在网上找方案的时候,因为这个是有很多的限制存在,并且,点击提交需要选择月份之后进行事件的触发,如果当当以行数据指定的话,无法进行触发,当然解决方案也很简单,就是改变存储值,变成一个数组,然后在查询的时候,保存了对应的数据,然后通过scope.$index进行下标寻值然后高亮显示月份,但点击月份的时候,会自动赋值给数组0,然后取值直接取,然后处理完成数据之后,直接再次查询即可重新覆盖。

上面只是其一,其二刚刚开始改的时候,尝试很多方法,代码也不是原版,但是上面图的效果用下面代码是可以实现出来的,最后一点还是:picker-options 把对象变成一个方法,然后在方法里面返回一个对象,从而解决自定义disable区块,从而在当前日期上可以做扩展,下面会贴一些借鉴网址。

下面附上element官网?Picker Options

参数

说明

类型

可选值

默认值

shortcuts

设置快捷选项,需要传入 { text, onClick } 对象用法参考 demo 或下表

Object[]

disabledDate

设置禁用状态,参数为当前日期,要求返回 Boolean

Function

cellClassName

设置日期的 className

Function(Date)

firstDayOfWeek

周起始日

Number

onPick

选中日期后会执行的回调,只有当?daterange?或?datetimerange?才生效

Function({ maxDate, minDate })

这个是完整代码

<template>
    <div>
    <el-table :data="tableData" style="width:400px;height:200px;">
        <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
        <el-table-column label="操作" min-width="100" >
            <template slot-scope="scope">
              <el-button class="month_export" type="text" size="">
                提交 
                <el-date-picker
                  type="month"
                  v-model="queryForm.month[scope.$index]"
                  value-format="yyyyMM"
                  :picker-options="expireTimeOption(scope.row)"
                  @change="onEdit(scope.row)"
                ></el-date-picker>
            </el-button>
            </template>
        </el-table-column>
    </el-table>
   </div>
</template>

<script>
export default {
  name:"App",
  components: {
  },
  data () {
		return {
     expireTimeOption(row) {
       let _this = this;
       return {
         disabledDate(time) { //这里根据element官方定义的、该字段是一个对象
            return _this.dealDisableDate(time,row.date);
         }
       }
     },
    queryForm:{
      month:["202203","202204"],//没有提供查询,但是效果一样
    },
    tableData: [{ 
            date: '2022-03-02',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1518 弄'
          }, {
            date: '2022-03-04',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1517 弄'
          }, {
            date: '2022-03-01',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1519 弄'
          }, {
            date: '2022-05-03',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1516 弄'
    }]
   }
  },
methods: {
  dealDisableDate(time,times){ //第一个是默认自带的、第二个就是自己限制值
    return time.getTime() < new Date(times); // 第二个可以根据自己需求选中至灰的阶段 
  },
  onEdit(row) {
    //执行自己的操作
  } 
}

}
</script>

<style lang="less" scoped>
  .month_export{
    border: none;
    position: relative !important;
  }
  .month_export .el-date-editor{
    position: absolute;
    top: 0 !important;
    left: 0 !important;
    opacity: 0;
  }

 /deep/ .el-month-table td.today .cell {
      color: #131416 !important;
      font-weight: 700;
  }

</style>

?最后总结一下,默认高亮显示当前月份这个 用该 /deep/ 指定不显示,还未解决。

借鉴网址:

1、去除element自带样式

2、简单实现disable

3、https://www.jianshu.com/p/da3978d。。。。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:14:27  更:2022-04-09 18:16:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:42:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码