Ant Design of Vue DatePicker 日期选择框只选择年份

需求

  • 只改变年份

问题

  • Ant Design of Vue DatePicker 日期选择框通过mode = "year"控制,弹出面板以年份显示,但是无法选择,也无法关闭面板

解决方案

  • 将控制面板打开/关闭的yearShow,需要在得到后台数据时将它添加到每条数据中,如果放在data中表格每行的日期面板将同时开/闭.
<template>
  <div>
    <table class="table">
      <thead>
        <tr>
          <th>编码</th>
          <th>名字</th>
          <th>年份</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in tableList" :key="index">
          <td>{{ item.id }}</td>
          <td>{{ item.name }}</td>
          <td>
            <a-date-picker
              v-model="item.year"
              style="width: 240px"
              mode="year"
              :open="item.yearShow"
              format="YYYY"
              @openChange="openChangeOne($event, index)"
              @panelChange="panelChangeOne($event, index)"
            />
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script>
export default {
  data () {
    return {
      // yearShow: false,
      tableList: []
    }
  },
  created () {
    // 模拟后台传回的数据
    this.tableList = [
      { id: '01', name: 'aaa', year: '2019' },
      { id: '02', name: 'bbb', year: '2020' },
      { id: '03', name: 'ccc', year: '2021' }
    ]
    this.tableList = this.tableList.map(item => {
      item.yearShow = false
      return item
    })
  },
  methods: {
    // 弹出日历和关闭日历的回调
    openChangeOne (status, index) {
      console.log('status', status)
      if (status) {
        this.yearShow = true
        window.console.log(index)
        // this.tableList[index].yearShow = true
        this.$set(this.tableList[index], 'yearShow', true)
      }
    },
    // 得到年份选择器的值
    panelChangeOne (value, index) {
      let time = this.$moment(value).format('YYYY')
      this.tableList[index].year = time
      this.tableList[index].yearShow = false
      this.yearShow = false
      console.log(this.tableList)
    }
  }
}
</script>

<style scoped>
div {
  text-align: center;
}
.table {
  margin: 100px auto;
  width: 800px;
}
tr {
  border: 1px solid #ccc;
}
td,
th {
  border: 1px solid #ccc;
}
</style>

在这里插入图片描述

已标记关键词 清除标记
相关推荐
<p> <b><span style="background-color:#FFE500;">【超实用课程内容】</span></b> </p> <p> <br /> </p> <p> <br /> </p> <p> 本课程内容包含讲解<span>解读Nginx的基础知识,</span><span>解读Nginx的核心知识、带领学员进行</span>高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 </p> <p> <br /> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><br /> </b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><span style="background-color:#FFE500;">【课程如何观看?】</span></b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> PC端:<a href="https://edu.csdn.net/course/detail/26277"><span id="__kindeditor_bookmark_start_21__"></span></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 移动端:CSDN 学院APP(注意不是CSDN APP哦) </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ </p> <p style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <strong><span style="background-color:#FFE500;">【学员专享增值服务】</span></strong> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b>源码开放</b> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 下载方式:电脑登录<a href="https://edu.csdn.net/course/detail/26277"></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a>,播放页面右侧点击课件进行资料打包下载 </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页