ant design vue 年份选择器

因为ant design vue 里面没有原生的年份选择器,需要使用date-picker去改造

html:

<a-date-picker
 mode="year"
 v-decorator="['year']"
 placeholder="请输入年份"
 format="YYYY"
 style="width: 200px"
 :open="yearShowOne"
@openChange="openChangeOne"
  @panelChange="panelChangeOne"/>

属性说明,mode设置year后选择器面板变成年份选择器,v-decorator 将year交给form控制,format格式化为年(如果在方法里面给v-model或者value、v-decorator绑定的变量都赋值后,回显还是年月日,要看看这个格式化有没有打开,open控制年份选择面板的显示与消失 yearShowOne初始值为false。openChang控制年份选择面板的打开与关闭,panelChange控制面板内选择值的变化

js:

// 弹出日历和关闭日历的回调
    openChangeOne(status) {
      if (status) {
        this.yearShowOne = true;
      }
    },
    // 得到年份选择器的值
    panelChangeOne(value) {
      this.yearShowOne = false;
      this.year = value;
      this.$nextTick(() => {
        this.form.setFieldsValue({
          year: value,
        });
      });
    },

这里为什么要用form.setFieldsValue在给form监控的year给赋值呢,其实form并没有年份选择器做到真正的监听,这里赋值只是为了,当选择之后有一个回显。同理既然监听不了我们可以试一下value和v-model,都是能够完成的,但是要注意的是v-decorator不能跟他们共同使用。

效果图:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值