广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >AntDesign封装年份选择组件的方法
  • 415
分享到

AntDesign封装年份选择组件的方法

2024-04-02 19:04:59 415人浏览 独家记忆
摘要

常见问题 在平时的业务场景中,我们需要用到一个年份的选择组件。但是在antd2.x的版本中,antd的DatePicker组件还没有mode属性,不能单独设置为年份选择器。虽然ant

常见问题

在平时的业务场景中,我们需要用到一个年份的选择组件。但是在antd2.x的版本中,antd的DatePicker组件还没有mode属性,不能单独设置为年份选择器。虽然antd3.x添加了mode属性,但是我在使用的过程中还是发现了一些问题,官网中也有提到相应解决方案,但是并没有完全解决我的问题,再次记录一下我的解决方案。

问题一

DatePicker组件设置成年份选择后,点击年份后onChange事件不会触发,value获取不到,面板也不会关闭,点击面板外的区域可以关闭面板但年份没选上,只有选择年份后敲回车键才能正确返回,如此设计估计要被用户……直接上代码

<template>
  <div class="yearPicker">
    <a-date-picker
      placeholder="请选择年份"
      fORMat="YYYY"
      mode="year"
      @change="onChange"
    />
  </div>
</template>

<script>
export default {
  methods: {
    onChange(date, dateString) {
      console.log(date, dateString);
    }
  }
};
</script>

页面效果:

解决方法

仔细阅读官网文档,发现了DatePicker组件的openChange事件和panelChange事件,于是有了以下的解决方案

<template>
  <div class="yearPicker">
    <a-date-picker
      format="YYYY"
      mode="year"
      :value="year"
      :open="open"
      @openChange="openChange"
      @panelChange="panelChange"
    />
  </div>
</template>

<script>
import moment from "moment";
export default {
  components: { moment },
  data() {
    return {
      open: false,
      year: moment()
    };
  },
  methods: {
    openChange(status) {
      if (status) {
        this.open = true;
      } else {
        this.open = false;
      }
    },
    panelChange(value){
      this.year = value;
      this.open = false;
    }
  }
};
</script>

如此解决了点击选取万年份后面板不能关闭的问题,但是随之而来的我又发现了新的问题,就是清除按钮不生效了!!!

那就只能重写清空事件或者设置allowClear属性为false了,还有就是DatePicker组件的的手动输入日期是不能用的,但是不知道为什么还要弄这东西,建议开发的时候把输入框隐藏掉。

隐藏后:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: AntDesign封装年份选择组件的方法

本文链接: https://www.lsjlt.com/news/145709.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • AntDesign封装年份选择组件的方法
    常见问题 在平时的业务场景中,我们需要用到一个年份的选择组件。但是在antd2.x的版本中,antd的DatePicker组件还没有mode属性,不能单独设置为年份选择器。虽然ant...
    99+
    2022-11-13
  • Ant Design封装年份怎么选择组件
    这篇文章主要介绍了Ant Design封装年份怎么选择组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Ant Design封装年份怎么选择组件文章都会有所收获,下面我们一起来看看吧。问题一...
    99+
    2023-06-30
  • vue左右滑动选择日期组件封装的方法
    现在做的项目中遇到了左右滑动选择日期的一个功能,然后我封装了一下这个组件,现在分享给大家看一下: 效果图: 1、安装dayjs日期文件 npm install dayjs --sa...
    99+
    2022-11-13
  • vue日历组件的封装方法
    本文实例为大家分享了vue日历组件的封装代码,供大家参考,具体内容如下 图示 封装的组件的代码如下 <template>   <div class="calend...
    99+
    2022-11-13
  • Vue分页组件的封装方法
    前言 这个是基于vue2的分页封装,仿照elementUI而写的组件。 效果如图 话不多说,直接上代码 <template>   <div class="pagi...
    99+
    2022-11-13
  • vue面包屑组件的封装方法
    vue中自己封装面包屑组件,供大家参考,具体内容如下 要实现效果 前言 很多电商类产品都需要实现面包屑导航,用来优化用户体验 一、初级面包屑封装组件 1.封装基础结构组件 Brea...
    99+
    2022-11-12
  • vue3封装计时器组件的方法
    背景 在一些商城类网页中打开商品详情都会有一个计数器来选择购买的数量,这样的计时器不仅会在商品详情页面显示还会在购物车里面有,那就可以把计时器封装成组件,以便于更好的复用以及后期维护...
    99+
    2022-11-12
  • vue3封装轮播图组件的方法
    目的 封装轮播图组件,直接使用,具体内容如下 大致步骤 准备my-carousel组件基础布局,全局注册 准备home-banner组件,使用my-carousel...
    99+
    2022-11-12
  • React封装弹出框组件的方法
    本文实例为大家分享了React封装弹出框组件的方法,供大家参考,具体内容如下 效果图 文件目录 alertList.tsx 用于容纳弹出框的容器 import React f...
    99+
    2022-11-13
  • vue tree封装一个可选的树组件方式
    目录组件实现的基本功能先看效果图组件实现的基本功能 1,根据后端返回的数据格式,传入组件动态的渲染出当前角色有哪些权限(新建,修改) 2,适配有2级和只有一级多选的数据 3,有全选(...
    99+
    2022-11-13
  • vue3.0手动封装分页组件的方法
    本文实例为大家分享了vue3.0手动封装分页组件的具体代码,供大家参考,具体内容如下 1.父组件引入 src/views/goods/components/goods-comment...
    99+
    2022-11-12
  • Angular封装WangEditor富文本组件的方法
    富文本组件是web程序中很常用的一个组件,特别是要开发一个博客,论坛这类的网站后台。 得益于Angular的强大,封装WangEditor组件非常简单 1.使用yarn或者npm...
    99+
    2022-11-12
  • vue.js管理后台table组件封装的方法
    目录问题分析 为什么封装 封装的内容都有哪些 封装table组件 确认数据格式 封装组件 封装全局组件 table组件封装 分页组件封装 数据定义 封装 总结最近开了新的项目,简单说...
    99+
    2022-11-12
  • 基于el-table封装的可拖拽行列、选择列组件的实现
    效果 需要环境 vue elementUI 拖拽插件Sortable.js 需配置属性 示例 <HTable :columns="columns" :d...
    99+
    2022-11-12
  • vue3手动封装弹出框组件message的方法
    本文实例为大家分享了vue3手动封装弹出框组件message的具体代码,供大家参考,具体内容如下 封装组件 <template> <Transition n...
    99+
    2022-11-12
  • React日期时间显示组件的封装方法
    本文实例为大家分享了React日期时间显示组件的封装具体代码,供大家参考,具体内容如下 时间日期展示器 import ProtoType from 'prop-types'; im...
    99+
    2022-11-13
  • vue封装图片滑块验证组件的方法
    本文实例为大家分享了vue封装图片滑块验证组件的具体代码,供大家参考,具体内容如下 滑块验证组件整体不难,主要在于设置图片的样式问题,想要让背景图充满div,就需要滑块图片也跟随等比...
    99+
    2022-11-13
  • react结合typescript封装组件的方法是什么
    今天小编给大家分享一下react结合typescript封装组件的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。项...
    99+
    2023-07-06
  • 基于React封装一个组件的方法是什么
    这篇文章主要讲解了“基于React封装一个组件的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于React封装一个组件的方法是什么”吧!antd 是如何封装组件的仓库地址divi...
    99+
    2023-06-29
  • Vue封装通过API调用的组件的方法详解
    目录前言封装通过API调用的组件的设计思路封装组件的方式单例模式定义单例模式的优缺点1、优点2、缺点单例模式适用场景使用API调用组件的示例拓展:父子组件通信最后前言 在前端开发中,...
    99+
    2022-12-26
    前端vue封装api然后调用 vue api封装 vue中组件封装
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作