余烬.当用户刷新网站时,保留下拉菜单中的选择

Ember. Keep selections from dropdown menu when user refreshes website

本文关键字:下拉菜单 保留 选择 用户 刷新 网站 余烬      更新时间:2023-09-26

我在余烬组件中有一个下拉菜单。当用户选择一个选项时,组件会向路由发送操作,路由会更改控制器中的属性,并将 TransitionToRoute 转换为其他 URL。

例:

根路径 = www.example.com

用户选择糖果。网址 => www.example.com/candy

糖果后,用户选择kitkat.=>www.example/candy/kitkat。

如果用户刷新网站或共享网址,下拉菜单将显示为未选中状态。我知道使用查询参数可以解决此问题,但我不想使用查询参数。

知道我该怎么做吗?谢谢!

您可以在初始化时使用 window.location。并从中提取最后一部分。然后从您选择的数据中找到以下内容并将其设置为选择。

像这样的东西

....
this._super(...arguments);
var fullURL = window.location.href; // www.example.com/candy
var splittedURL = fullURL.split('/'); 
var lastPart = Ember.get(splittedURL, 'lastObject'); // candy.
var chocolateData = this.get('selectMenuContent');
var toSetOnInit = chocolateData.findBy('value', lastPart);
this.set('myChocolateSelection', toSetOnInit);
...