在extjs中设置一个禁用的选项卡面板

Set active a disabled tab panel in extjs

本文关键字:选项 一个 extjs 设置      更新时间:2023-09-26

我有三个选项卡面板,其中包含表单。第一个选项卡对用户可见,单击保存按钮后,最初禁用的其他两个选项卡将为用户启用。现在,由于每个选项卡都有一个保存按钮,我想做的是:初始情况:选项卡1:已启用选项卡2:禁用选项卡3:禁用在选项卡1中单击保存时,仅启用选项卡2。单击选项卡2中的保存按钮后,将启用选项卡3。

这是我当前的代码,单击选项卡1中的保存即可打开选项卡2和3。

for (var i = 1; i < tabPanel.items.length; i++) {
           tabPanel.items.get(i).setDisabled(false);
    }
    tabPanel.setActiveTab(2);
    tabPanel.setActiveTab(1);

如何编辑我的代码以获得所需的案例?

如果您在所有三个选项卡中都有一个保存按钮,那么它将类似

var activeTab = tabPanel.getActiveTab(),
    sibling = activeTab.nextSibling();
if(sibling) tabPanel.setActiveTab(sibling);
activeTab.disable();

我会根据单击的保存按钮传递一个选项卡状态数组。

var tabStatus = [true, false, false],
    tabStatus2 = [false, true, false],
    tabStatus3 = [false, true, true];
for (var i = 0; i < tabPanel.items.length; i++) {
   tabPanel.items.get(i).setDisabled(tabStatus1[i]);
}