我正在使用React在Electron上创建应用程序,我想在浏览器中复制navegation的功能。
我有一个goBack和goForward按钮,我希望在下一个没有任何内容时禁用goForward,并在后面有nothgin时禁用goBack,就像浏览器那样。
所以我有反应路由器,我用
进行操作 browserHistory.goBack()
browserHistory.goForward()
所以我想要一种方法来检测接下来的那个并禁用按钮。可以对下一个和后一个路径字符串进行geeting或检查是否存在某些内容。
答案 0 :(得分:0)
根据历史记录https://github.com/mjackson/history#navigation,您可以使用var choices = [];
var previousChoice;
function Remove(choice) {
choices.push(choice);
$(".ddlConfidence")
.each(function () {
$(this).find("option[value=" + choice + "]option:not(:selected)").remove();
});
}
function Add(choice) {
choices.splice(choices.indexOf(choice), 1);
$(".ddlConfidence")
.each(function () {
var sel = $(this);
if (sel.find("option[value=" + choice + "]").val() === undefined) {
sel.append($("<option></option>").attr("value", choice).text(choice));
}
var selected = sel.val();
var opts_list = sel.find('option');
opts_list.sort(function (a, b) { return parseInt($(a).val()) > parseInt($(b).val()) ? 1 : -1; });
sel.html('').append(opts_list);
sel.val(selected);
});
}
$(document)
.on('focus',
".ddlConfidence",
function () {
previousChoice = parseInt($(this).val());
});
$(document)
.on("change",
".ddlConfidence",
function () {
$(this).blur();
var currentChoice = parseInt($(this).val());
if (previousChoice > 0 && currentChoice > 0) {
Remove(currentChoice);
Add(previousChoice);
} else if (currentChoice === 0) {
Add(previousChoice);
} else {
Remove(currentChoice);
}
});
来检查操作是否可行,我认为canGo(n)
检查是否可以继续进行canGo(1)
当goind向后