拆解PowerApps - 请假申请 - 7

本文解析了一个请假申请流程中SelectDatesScreen页面的设计与实现细节,包括页面结构、控件功能及逻辑处理等内容。

上一节我们完成了页面 NewRequestScreen 的解析,那个页面相当于是提交请假申请的第一步,选择要请的假期的类型。

本节接下来会沿着这个申请,一步步解析相关的页面。
当点选了假期类型后,所跳转到的页面就是下面这个 SelectDatesScreen,让用户选择假期的开始日期和结束日期。

1. 页面结构
从上图能看出的是,整个页面由多种独立控件组成。从上到下,这个页面涉及到图标、标签、图片、几何形状、日期拾取器和按钮六种控件。

2. 控件解析
接下来我们就逐个看这些控件和如何结合在一起运行的。
首先,注意到SelectDatesScreen层面上设置了 OnVisible 属性:
OnVisible  = If(!_editingRequest && !_reviewRequest, Set(_leaveStart,Today());Set(_leaveEnd,Today()));    //如果当前既不是编辑之前的申请(!_editingRequest) 也不是查看之前的申请(!_reviewRequest),就把开始日期和结束日期都设置成当天(相当于是新建一个申请)。
//注意: 本节多次用到这两个布尔类型的变量 _editingRequest 和 _reviewRequest。
//这两个变量在之前的HomeScreen里有做过初始化设置,后续根据申请页面的状态不同,还有几个页面也对其进行了初始化设置。


2.1 iconBackSelectDates  - 左上角的返回按钮
OnSelect = Back();Reset(LeaveStartDatePicker);Reset(LeaveEndDatePicker)     //返回上一页,然后重置两个日期拾取器

2.2 LabelSelectDatesHeader - 页面标题
Text = If(_editingRequest, "Edit ", "Select ") & "dates"   //根据当前页面的属性是编辑之前的申请还是新建申请(通过变量 _editingRequest 进行控制),显示不同的标题

2.3 ImageLeaveType    - 假期类型图标  
Image = If(_editingRequest, LookUp(LeaveTypeCollection, Upper(type)=Upper(First(RequestEdit).LeaveType)).icon, _selectedLeaveType.icon) 
//和上面的标签控件很类似,也是根据当前页面的属性进行相应的后续处理。区别在于上面是直接固定设定好不同情况下的文字提示,这里是根据情况设置不同的图标。
//如果当前是编辑页面,就通过LookUp函数从LeaveTypeCollection里找出对应的假期类型图标; 否则就利用上一节传递过来的变量 _selectedLeaveType, 其实也是个对象,通过 . 运算符来获取所选的假期对应的图标。 
//这里还涉及到第四节设置的一个集合 RequestEd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值