有谁知道如何以编程方式取消选择dojo dijit.MenuBarItem。问题是当我选择dijit.MenuBar上的一个项目时弹出对话框(我可以看到取消选择了条形菜单项),用户输入信息并关闭对话框,但是栏菜单项再次被选中并且一直保持选中状态。我试过了:
dijit.byId("navMenu")._markInactive();
dijit.byId("navMenu").isActive = false;
或
dijit.byId("transId")._markInactive();
dijit.byId("transId").isActive = false;
但它没有这样做。 请提出任何其他建议,谢谢
<div data-dojo-type="dijit.layout.ContentPane" id='barPane'data-dojo-props="region:'top'" style="padding:0px;">
<div data-dojo-type="dijit.MenuBar" id="navMenu">
<div data-dojo-type="dijit.MenuBarItem" data-dojo-props="onClick:uploadAndClearDialog">Upload</div>
<div data-dojo-type="dijit.MenuBarItem" data-dojo-props="onClick:exportCsv">Download</div>
<div data-dojo-type="dijit.MenuBarItem" data-dojo-props="onClick:showTranslateDialog" id="transId">Translate</div>
</div>
</div>
答案 0 :(得分:1)
我在结束前的过程结束时将语句“_setSelected(false)”放在最后,它完美地运行了。
例如:
function yourFnt() {
// Close dialog
dijit.byId('yourDlg').onCancel();
require(["dojo/request","dojo/domReady!" ],
function(request) {
var vURL = "yourserviceURL"
var deferred = request.get(vURL, {
handleAs : "json"
});
deferred.then(function(response) {
...
...
// Unselect menuitem
dijit.byId("yourMenuItem")._setSelected(false);
});
});
}