WiX-数据集不匹配

时间:2019-03-19 06:32:49

标签: dataset wixcode

我在剧院学院有一个website,在主页上有一个幻灯片展示,其中有两个中继器,连接到两个不同的数据集的两个不同的幻灯片上。我用它们来显示数据库集合中的事件信息/状态。

Slide1: recentRepeater <-- recentDataset <-- myCollection (For Recent Events)

Slide2: upcomingRepeater <-- upcomingDataset <-- myCollection (For Upcoming Events)

问题

在加载时,dataset2中会显示repeater1数据,即“近期事件”会显示在“即将发生的事件”部分中,并且在完全加载后会得到更正。作为要在网站上显示的第一件事,我不希望它被弄乱。这对我的网站有负面影响


工作原理

我已将事件的日期以YYYYMMDD格式存储在数据库中。例如:

20-April-2019 ---> 20190420

我已将数据集正确连接到转发器元素,将数据集结果限制设置为2

我根据YYYYMMDD号对要产生的结果进行了排序

  • 升序upcomingDataset
  • 降序recentDataset

我生成当天的YYYYMMDD格式编号,并通过.setFilter()函数过滤了数据集产生的结果

$w("#recentDataset").setFilter(wixData.filter()
    .lt("dateNumber", YYYYMMDD_today)
)

$w("#upcomingDataset").setFilter(wixData.filter()
    .ge("dateNumber", YYYYMMDD_today)
)

如何防止这种情况发生?。

预先感谢

1 个答案:

答案 0 :(得分:1)

如果不实际使用您的网站,很难说是怎么回事。我认为您的两个数据集都连接到同一集合。我猜问题是数据集仅在页面加载后才被过滤。您可以通过在预览中将控制台转到详细模式来验证这一点。

如果确实存在问题,我可以考虑三种可能的修复/解决方法:

  1. 在数据集设置中设置过滤器,而不是通过编程方式进行设置。 (这是最简单的选择。)
  2. 隐藏中继器,直到设置了过滤器。 (这有点hack。)
  3. 存储setFilter函数返回的承诺,并使用Promise.all()中的onReady()返回它们。 (这是最奇妙的选项。我认为它会起作用,但是如果您不需要以编程方式设置过滤器,则不妨选择选项1。)