el-date-picker 限制时间范围 picker-options 传参
需求
el-date-picker
限制时间范围的选取,不能超过某个区间 [startDate, endDate]
。
问题在于,disabledDate
函数的参数默认是 time
,无法传递自定义参数 [startDate, endDate]
。
分析
传递给 picker-options
的值只能是对象。无法传递单个对象,但是可以传递一个返回对象的函数。
解决
template 代码
<el-date-picker
v-if="item.dataType === 'date'"
v-model="form[item.tag]"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions(item.attributeScope)"
/>
data 中返回
// 也可以在 data 中初始化 {},然后在 created 中重新赋值
pickerOptions: function (scopeStr) {
const flag = Boolean(scopeStr);
return {
disabledDate(time) {
if (!flag) {
return false;
} else {
const scope = JSON.parse(scopeStr);
const startDate = new Date(scope[0]).getTime();
const endDate = new Date(scope[1]).getTime();
const selectDate = time.getTime();
if (selectDate > startDate - 8.64e7 && selectDate < endDate) {
return false;
} else {
// 禁用超出 [startDate, endDate] 部分的日期
return true;
}
}
},
};
},
参考链接
本文来自博客园,作者:shayloyuki,转载请注明原文链接:https://www.cnblogs.com/shayloyuki/p/17899534.html
分类:
Element-UI踩坑记录
posted on 2023-12-13 17:29 shayloyuki 阅读(4039) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了