修改iview中的日期组件

4 篇文章 0 订阅

日期组件如下: 

/*
组件中的属性有  
type,value,placeholder,placement,options,width 属性值和iview中相对应的
方法有 onChange, onClear, onOk


*/



<template>
 <div>
  <DatePicker
   :open="open"
   :options="options"
   :value="value"
   confirm
   :type="type"
   :placement="placement"
   :placeholder="placeholder"
   @on-change="handleChange"
   @on-clear="handleClear"
   @on-ok="handleOk">
   <a href="javascript:void(0)" @click="handleClick">
    <Icon type="ios-calendar-outline"></Icon>
    <template v-if="value === ''||value===null||value[0]===''||value.length===0">{{placeholder}}</template>
    <template v-else-if="typeof value !== 'string'">{{ value[0] }}至{{value[1]}}</template>
    <template v-else>{{ value }}</template>
    <Icon type="md-arrow-dropdown" />
   </a>
  </DatePicker>
 </div>
</template>
<script>
 export default {
   data () {
     return {
       open: false
     }
   },
   props: {
     value: {
       type: [Array, String],
       default: ''
     },
     placeholder: {
       type: String,
       default: '请选择日期'
     },
     type: {
       type: String,
       default: 'date'
     },
     width: {
       type: Number,
       default: 200
     },
     options: {
       type: Object
     },
     placement: {
       type: String,
       default: 'bottom-start'
     }
   },
   watch: {
     value (val) {
       console.log(val)
     }
   },
   methods: {
     handleClick () {
       this.open = !this.open
     },
     handleChange (date) {
       this.$emit('onChange', date)
    // this.value = date
     },
     handleClear () {
       this.open = false
       this.$emit('onClear', '')
     },
     handleOk () {
       this.open = false
       this.$emit('onOk', this.value)
     }
   }
 }
</script>
<style lang="stylus">
 .ivu-date-picker
   padding 0 16px
 .ivu-icon-ios-calendar-outline:before
  content:''
 .ivu-date-picker-rel
  a
   color #8590a6
</style>

 

使用举例

1、import dropdatePicker from '@/components/DropDatePicker'

2、注册使用:

components: {
  dropdatePicker
}

3、使用

<dropdate-picker
     :value="nextContactTimeShow"
     type="daterange"
     placeholder="下次联系时间"
     @onChange="nextContactTimeChange"
     @onClear="ContactTimeSearch('next', 'CLEAR')"
     @onOk="ContactTimeSearch('next', 'SEARCH')"
     :options="optionsNextTime"
     placement="left-start"
    ></dropdate-picker>

 效果如图所示:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值