我想從Extjs容器中刪除Extra div。我的視圖中有很多容器,但我不想在容器中添加兩個額外的div。這兩個div每次都在容器中生成,所以我在應用bootstrap時會遇到一些問題。如何刪除容器中的自動生成的Div文件ExtJs
這兩個DIV包含data-ref="innerCt"
和data-ref="outerCt"
。
謝謝
我想從Extjs容器中刪除Extra div。我的視圖中有很多容器,但我不想在容器中添加兩個額外的div。這兩個div每次都在容器中生成,所以我在應用bootstrap時會遇到一些問題。如何刪除容器中的自動生成的Div文件ExtJs
這兩個DIV包含data-ref="innerCt"
和data-ref="outerCt"
。
謝謝
此標記取決於佈局。例如,fit
不會顯示額外的div,但它一次只能顯示一個組件。您可以通過定義自定義佈局來實現類似行爲。例如:
Ext.define('Ext.layout.container.Null', {
alias: ['layout.null', 'layout.nullcontainer'],
extend: 'Ext.layout.container.Container',
type: 'nullcontainer',
reserveScrollbar: false,
managePadding: false,
manageOverflow: false,
needsItemSize: false,
setsItemSize: false,
renderTpl: [
'{%this.renderBody(out,values)%}'
]
});
downvote的原因:Ext佈局*非常*複雜,不應該混淆,除非絕對必要。這是一個不好的建議。 – 2014-12-04 23:06:20
@AlexTokarev你說的只是荒謬的 - 複雜性是一個相對的概念。即使它很複雜,沒有人會說這很容易。此外,我不會混淆版面,我已經通過擴展基本版本創建了新的版本,並默認了一些版本。你可以通過使用'layout:'container''來配置它。問題是這個額外的div可以做些什麼 - 並且回答問題到底可以做些什麼。我不知道用其他方式來做這件事 - 如果你這樣做,你可以提供你自己的答案。 – Krzysztof 2014-12-05 07:27:56
此外,繼承是面向對象的主要概念之一,AFAIK這個框架是爲了OOP,我所做的最好的是繼承。自從Ext JS 3開始,我一直在使用自定義佈局,而且我發現它比其他Ext JS代碼更復雜。 最後,當您禁用或限制一個佈局系統時,將ExtJS與bootstrap(具有其自己的佈局系統)混合可能會更容易發生,所以像'nulllayout'這樣的東西實際上可能成爲使這兩個框架一起工作的最簡單方式。 – Krzysztof 2014-12-05 07:28:19
在審查的源代碼6.0.2,相信只需要設置爲layout: 'container'
您不想要的額外佈局的div容器上。在Krzysztof的答案中提到的所有其他屬性僅在Ext.layout.container.Auto上定義,Ext.layout.container.Auto是Ext.layout.container.Container的子類,因此不需要包含它們。
不要刪除它們,它們是框架需要的尺寸。 – 2014-12-03 10:30:03
但有什麼辦法可以刪除? @Evan – GoalDone 2014-12-03 10:35:00