记录更改时,PowerApps 全局变量不更新



我有一个包含三个页面的画布应用程序。

第 1 页有一个库列表记录。 当用户选择库中的项时,将执行以下操作

Set(SelectedRecord, ThisItem); 
Navigate('Page 2',ScreenTransition.Fade);

第 2 页有一个标签

Text = SelectedRecord.Field1

以及用于打开第 3 页的链接

第 3 页有一个具有相同数据集的表单,第 1 页上的库和

items = SelectedRecord

和一个保存按钮

OnSelect = SubmitForm(Form_1);
Navigate('Page 2', ScreenTransition.Fade);

我的问题是,当控件返回到第 2 页时,标签仍然显示旧值,我希望全局变量将链接到数据集并在进行更改时更新。

这里是否有错误或使用更新的数据更新全局变量的某些过程?

从逻辑上讲,您从第 3 页导航到第 2 页,但您没有对第 2 页给出任何指示,应该执行什么。 第 2 页处于其最后一个状态(来自第 1 页,带有 SelectedRecord.Field1(

当您来自第 3 页时,您必须清除第 2 页文本 = ">

但请确保仅在从第 3 页导航时才为空

当您设置 SelectedRecord 全局变量时,它将存储数据源中记录的副本。当数据源更改时,它不会自动更新。

您可以在"保存"按钮中显式更新变量:

OnSelect = SubmitForm(Form_1);
Navigate('Page 2', ScreenTransition.Fade);
Set(SelectedRecord...

或者,您可以将逻辑更改为仅将记录的 ID 存储在变量中,并在标签中使用 LookUp((。这将反映对数据源所做的更改:

LookUp('DataSource',ID=SelectedRecordID).Field1

还有一个建议:与其使用全局变量(可能会与其他屏幕上的逻辑发生冲突(,不如使用 Navigate(( 函数传递 record/id,如下所示:

Navigate('Page 2',Fade,{ selectedRecord: <<value>> })

最新更新