Element-UI和Element-Plus时间组件使用笔记

框架支持

  • Element-Plus‌:专为Vue 3设计,支持Composition API和Vue 3的其他新特性。
  • Element-UI‌:基于Vue 2,使用Options API

一.时间范围选择限制

1.Element-UI使用

参考‌Element-UI官方文档https://element.eleme.cn/#/zh-CN/component/datetime-picker

<template>
    <div>
        <el-date-picker v-model="form.time" type="datetime" size="mini" placeholder="选择时间" style="width:  210px" :format="getTimeFormat(form.time)" value-format="yyyy-MM-dd HH:mm:ss" :picker-options="pickerOptions"/>
    </div>
</template>
<script>
export default {
computed: {
    pickerOptions(){
      let selectDate = new Date(this.form.time)
      let selectableRangeData = '00:00:00 - 23:59:00'
      if(selectDate && moment(this.firstTime).format('YYYY-MM-DD') == moment(this.form.time).format('YYYY-MM-DD')){
        selectableRangeData = this.firstEvaporatorTime + ' - 23:59:00'
      }
      return {
        selectableRange: selectableRangeData,
        disabledDate: time => {
          return time.getTime() + (24*60*60*1000) <= new Date(moment(this.firstTime).format('YYYY-MM-DD')).getTime()
        },
      }
    },
  },
}
</script>

2.Element-Plus使用

参考‌Element-Plus官方文档https://element-plus.org/zh-CN/component/datetime-picker.html

<template>
    <div>
        <el-date-picker style="width:320px" v-model="searchData.DateRange" type="datetimerange"
                              range-separator="至" start-placeholder="开始日期"
                              end-placeholder="结束日期" value-format="YYYY-MM-DD HH:mm:ss" :disabled-date="disabledDate" @change="clearDateRange" @calendar-change="onCalendarChange"></el-date-picker>
    </div>
</template>
<script>
export default {
    methods: {
},
    disabledDate(time)  {
      let today = new Date().getTime()
      if(this.choiceDate){ 
        const range = 1 * 24 * 3600 * 1000;
        let minTime = this.choiceDate.getTime() - range;
        let maxTime = this.choiceDate.getTime() + range;
        maxTime = maxTime > today ? today : maxTime;
        return time.getTime() < minTime || time.getTime() > maxTime;
      }
      return time.getTime() > today;
    },
    onPick({ maxDate, minDate }) {
          this.choiceDate = minDate.getTime();
          if (maxDate && maxDate.getTime() > new Date().getTime()) {
              this.choiceDate = "";
          }
    },
    onCalendarChange(dates){
      this.choiceDate = null
      let hasSelectDate = dates !== null && dates.length > 0
	    this.choiceDate = hasSelectDate ? dates[0] : null
    },
    clearDateRange(val){
      if(!val) {
        this.choiceDate = null
        this.DateRange = []
      }
    },
    }
}
</script>

根据您提供的代码,您可以使用 Element UI 的 `el-upload` 组件来实现图片上传删除功能。以下是使用 Element UI 实现该功能的示例代码: ```html <template> <div class="title1" style="padding-left: 10px">文字信息 (最多**六**张)</div> <div class="imgList"> <div class="imgContent" v-if="imageUrl.length"> <div class="list" v-for="(item, index) in imageUrl" :key="index" style="margin-right: 10px"> <img style="display: inline-block; width: 108px; height: 108px" :src="item" alt /> <span class="remove" @click="removeImg(index)"> <i class="el-icon-delete"></i> </span> </div> </div> <el-upload v-show="showUpload" ref="addUpload" class="avatar-uploader" action :show-file-list="false" accept="image/jpeg, image/jpg, image/png" :auto-upload="false" :on-change="uploadMap"> <i class="el-icon-plus avatar-uploader-icon"></i> </el-upload> </div> </template> <script> export default { data() { return { showUpload: false, // 控制上传按钮的显示与隐藏 imageUrl: [], // 存储已上传的图片地址数组 // 其他数据方法... }; }, methods: { removeImg(index) { this.imageUrl.splice(index, 1); // 从数组中移除指定索引的图片地址 }, uploadMap(file) { const reader = new FileReader(); reader.onload = (e) => { const base64Data = e.target.result; // 将文件转换为 Base64 编码的数据 this.imageUrl.push(base64Data); // 将图片地址添加到数组中 }; reader.readAsDataURL(file.raw); // 以 DataURL 的形式读取文件内容 } } }; </script> ``` 上述代码使用Element UI 的 `el-upload`<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vue配合element-ui实现图片多张上传删除](https://blog.csdn.net/weixin_44255044/article/details/114135207)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vue Element ui实现table列拖动效果](https://download.csdn.net/download/u012976879/10770752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值