Element 之DatePicker 时间选择器 时间限制(精确到时分秒)
结合vue2.x语法,对elementUI时间控件进行 精确到时分秒的时间限制。html<el-form-item label="监测时间" prop="monitorTime"><el-date-pickerv-model.trim="detailData.monitorTime":picker-options="pickerOptions"type="datetime"
·
结合vue2.x语法,对elementUI时间控件进行 精确到时分秒的时间限制。
- html
<el-form-item label="监测时间" prop="monitorTime">
<el-date-picker
v-model.trim="detailData.monitorTime"
:picker-options="pickerOptions"
type="datetime"
placeholder="请选择"
value-format="yyyy-MM-dd HH:mm:ss"
/>
</el-form-item>
- js
data() {
return {
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
selectableRange: "00:00:00 - 23:59:59",
},
}
watch: {
"detailData.monitorTime": {
handler(newValue, oldValue) {
if (newValue) {
let date = new Date();
let min = date.getMinutes();
date.setMinutes(min + 1); //这里加1分钟,是为了解决值改变后,系统秒数就过期限制了,无法点击“此刻”按钮, 如果监听 “系统时间”的改变,则会影响性能。
let nowDate = moment(date).format("HH:mm:ss");
let st = "";
if (moment(date).format("yyyy-MM-DD") === moment(newValue).format("yyyy-MM-DD")) {
let hh1 = moment(newValue).format("HH:mm:ss")
if(hh1 > nowDate) {
this.detailData.monitorTime = new Date();
}
st = nowDate;
} else {
st = "23:59:59";
}
this.pickerOptions.selectableRange = "00:00:00 - " + st;
this.pickerOptions = this.pickerOptions;
}
},
deep: true,
immediate: true,
},
},
其中:采用watch来监听控件时间,若发生变化 触发watch,先判断最新日期是否是 系统当前日期,若是则对时间进行限制,反之不限制 时分秒。
效果图
更多推荐
已为社区贡献7条内容
所有评论(0)