我使用tabpanel(tabpanel有兩個選項卡)。在窗體上我有一個按鈕(名稱:開始),我很想:當選擇第一個選項卡 - >按鈕時選擇第二個選項卡 - >另一個動作時做一個動作。表單上的一個按鈕的不同動作
這是控制器:
showCreateForm: function(button) {
actions...
},
什麼情況下需要在控制器寫?感謝
我使用tabpanel(tabpanel有兩個選項卡)。在窗體上我有一個按鈕(名稱:開始),我很想:當選擇第一個選項卡 - >按鈕時選擇第二個選項卡 - >另一個動作時做一個動作。表單上的一個按鈕的不同動作
這是控制器:
showCreateForm: function(button) {
actions...
},
什麼情況下需要在控制器寫?感謝
好問題....
ExtJS的有一個優勢是,通過使用其路徑和例如Inside_Some_XType-> TabPanel-> TabName-一些獨特的屬性>按鈕,聽一個元素的操作,以便試試這個方式......
請看下面的例子是我在我的項目以前那樣,它會幫助你
手錶裁判節,我們該怎麼做這個...
Ext.define("XCP.controller.LoginController", {
extend: "Ext.app.Controller",
views: ["LoginScreen"],
refs: [
//Ext.ComponentQuery
{ ref: "userName", selector: "login > textfield[id=usernametext]" },
{ ref: "password", selector: "login > textfield[inputType=password]" },
{ ref: "homeScreen", selector: "home" }
],
init: function() {
this.control({
"login > button[text=Submit]": {
click: this.onLoginButtonClicked
},
"login > button[text=Reset]": {
click: this.onResetButtonClicked
},
"#logoutbutton": {
click: this.onLogoutButtonClicked
}
});
},
onLogoutButtonClicked: function() {
this.application.viewport.getLayout().setActiveItem(0);
},
onResetButtonClicked: function() {
alert("Reset");
},
onLoginButtonClicked: function() {
if (this.getUserName().getValue() == "admin" &&
this.getPassword().getValue() == "admin") {
if(!this.getHomeScreen())
this.application.viewport.add({ xtype: "home", id: "homescreen" });
this.application.viewport.getLayout().setActiveItem(1);
}
else
alert("Invalid credentials");
}
});
否則,您應該在每個標籤中爲按鈕生成默認和唯一的ID ...它不會高度重新啓動。
哦謝謝,我應該在我的控制器裁判寫這個?:
refs: [
{ ref: "sellBook", selector: "bookgrid>TabPanel>Tab1>button[action=check-book]"},
{ ref: "buyBook", selector: "bookgrid>TabPanel>Tab2>button[action=check-book]" },
],)
init: function()
{ this.control(
{ "bookgrid > button[action=check-book]": { click: this.sellBookShow },
{ "bookgrid> button[action=check-book]": { click: this.buyBookShow }, })
嗯........... – vino20
感謝,我跟兩個條件,如果讓這個( activeTab =='tab1'){...} else if {...} – user3045654
不錯........... – vino20