返回列表 发布新帖

通过界面设计器配置的日期信息,如何动态控制可选范围?

393 1
发表于 2024-12-27 23:35:50 | 查看全部 阅读模式
问答

紧急程度

已完结
目前界面设计器的时间控件的最大和最小可以动态设定吗?
例如限定只能挑选今天和28天后的日期

最佳答案

查看完整内容

解决方案: 可以通过hooks来实现 假设开始时间时Start_time,结束时间时End_time,当调整开始时间时,要限制结束时间不能早于开始时间;示例如下: 1)移动端: 在Start_time上定义onChange事件的hooks,限制结束时间的最小值为开始时间的当前值 var startTime = curComponent.data.text; var endTimeComp = proxyPage.getComponent("End_time"); endTimeComp.data.minDatetime = startTime; endTimeComp.update(); 反之,如果是 ...

评论1

刘康楼主Lv.2 发表于 2024-12-27 23:35:50 | 查看全部
解决方案:
可以通过hooks来实现
假设开始时间时Start_time,结束时间时End_time,当调整开始时间时,要限制结束时间不能早于开始时间;示例如下:

1)移动端:
在Start_time上定义onChange事件的hooks,限制结束时间的最小值为开始时间的当前值
var startTime = curComponent.data.text;
var endTimeComp = proxyPage.getComponent("End_time");
endTimeComp.data.minDatetime = startTime;
endTimeComp.update();
反之,如果是要限制可选择的最大时间,就是设置xxxx.data.maxDatetime=xxxxx,等号右边的值必须是YYYY-MM-DD或者YYYY-MM-DD hh:mm:ss格式的字符串

2)PC端
给Start_time定义valueChangesHook的数据Hooks
var startTimeComp = dataControl.getComponentByPath("leave_application.Start_time");
var startTime = startTimeComp.getControl().value;
var endTimeComp = dataControl.getComponentByPath("leave_application.End_time");
endTimeComp.disabledDate = (current) => {
    var currentDate = new Date(current);
    var newDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), 23, 59, 59);
    var startTimeTemp = new Date(startTime);
   
    return newDate.getTime() < startTimeTemp.getTime();
};
大家来答
    精选文章
    DAP后端应用写法-使用DWDataSet进行数据库的新增/修改
    场景使用高代码后端要去数据库变更数据, 除了直接下SQL的方式外, 更可用java物件的方
    DAP后端应用写法-使用DWQueryInfo进行数据库的查询
    场景使用高代码后端要去数据库查资料, 除了直接下SQL的方式外, 更可用java物件的方式,
    排錯技巧 - 雅典娜签核,间歇性会报错
     问题描述顾问反馈:雅典娜签核套件点击OA送签或查看签核流程时,间歇性会报错。
    鼎捷雅典娜-运营单元
     背景说明鼎捷雅典娜是云地整合的架构,在新客户期初导入时,需要针对新客户租户
    排错技巧 - 地中台无法启用
    问题描述顾问反馈:客户在完成新版更新后,服务无法正常启用! 错误信息如下,地中台
    • 关注公众号
    Copyright © 2025 鼎捷数智股份有限公司 版权所有 All Rights Reserved. Powered by Discuz! X5.0
    关灯 在本版发帖
    即将开放
    返回顶部
    快速回复 返回顶部 返回列表