我需要在我的应用的设置弹出窗口中禁用设置。这可能吗?
详情
当用户打开我的应用的超级按钮栏并点击“设置”时,应用的onsettings
事件会触发,我会添加如下命令:
e.detail.applicationcommands = {
"aboutFlyout": { title: "About", href: "/settings/about/about.html" },
"optionsFlyout": { title: "Options", href: "/settings/options/options.html" }
};
现在我需要根据某些内部应用状态禁用或启用“选项”设置。我特别不想隐藏设置条目,以便用户可以随时发现它。
我怎么能这样做?
答案 0 :(得分:0)
我认为没有直接的方法可以做到这一点。
您可能需要创建新的optionsDisabledFlyout。
if (condition)
{
display the optionsFlyout option
}
else
{
display the optionsDisabledFlyout
}
将optionsDisabledFlyout的settings.HeaderBrush值设置为灰色,以显示已禁用的效果。并且,请确保您的optionsDisabledFlyout在调用时不会启动新页面。
答案 1 :(得分:0)
if(condition)
e.detail.applicationcommands = {
"aboutFlyout": { title: "About", href: "/settings/about/about.html" },
"optionsFlyout": { title: "Options", href: "/settings/options/options.html" }
};
else
e.detail.applicationcommands = {
"aboutFlyout": { title: "About", href: "/settings/about/about.html" },
};
答案 2 :(得分:0)
据我所知,你无法禁用它。我明白了选择的可发现性。
我认为最好的选择是保留这样的命令,并在“选项”页面上显示一些消息,表明控件已被禁用,因为它被禁用了。
我想到的另一件事是将href参数留空?不确定会发生什么,但可能只是一个没有做任何事情的超链接。 (也不是用户友好的)