#html #extjs4.2
#HTML #extjs4.2
Вопрос:
Потратил уже много ресурсов, чтобы выяснить, как оптимизировать HTML-код ExtJS. У меня есть простой выпадающий список с меткой, и extjs выкидывает на страницу это:
<tr role="presentation" id="inputs[1].TypeId-inputRow" class="x-form-item-input-row">
<td role="presentation" id="inputs[1].TypeId-labelCell" style="" valign="top" halign="left" width="88" class="x-field-label-cell">
<label
id="inputs[1].TypeId-labelEl"
for="inputs[1].TypeId-inputEl"
class="x-form-item-label x-unselectable x-form-item-label-left"
style="width:83px;margin-right:5px;" unselectable="on">
Placement ID:
</label>
</td>
<td role="presentation" class="x-form-item-body x-form-trigger-wrap-focus" id="inputs[1].TypeId-bodyEl" colspan="2">
<table id="inputs[1].TypeId-triggerWrap" class="x-form-trigger-wrap" cellpadding="0" cellspacing="0" style="table-layout: auto;">
<tbody>
<tr>
<td id="inputs[1].TypeId-inputCell" class="x-form-trigger-input-cell">
<div class="x-hide-display x-form-data-hidden" role="presentation" id="ext-gen1311">
</div>
<input
id="inputs[1].TypeId-inputEl"
type="text"
class="x-form-field x-form-required-field x-form-text x-trigger-noedit x-form-focus x-field-form-focus x-field-default-form-focus"
autocomplete="off"
name="inputs[1].TypeId"
placeholder="DATA SOURCE"
readonly="readonly"
aria-invalid="false"
data-errorqtip=""
style="width: 137px;">
</td>
<td valign="top" class=" x-trigger-cell x-unselectable" style="width:22px;" id="ext-gen1310">
<div class="x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first" role="button" id="ext-gen1309">
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
Как я мог бы изменить таблицы внутри таблиц только для простого xtype: ‘combobox’?
У меня сотни таких на странице, это сильно замедляет работу, потому что очень тяжелый HTML-код.
это можно было бы сделать с помощью простого div с плавающим на нем, почему ExtJS отображает весь этот табличный код?
Комментарии:
1. Ext прекрасен тем, что он абстрагируется от HTML. Так зачем вам нужно менять базовый HTML, когда вам не нужно думать в терминах HTML в Ext?
2. потому что я не хочу, чтобы на моей странице было так много HTML, когда это можно было бы сделать за несколько разделов
Ответ №1:
Если вам нужна / нужна более простая разметка в Ext, единственный способ — это закодировать свой собственный компонент, где вы можете определить более простой.
Невозможно упростить внешнюю разметку, созданную без опасности нарушения функциональности или механизма компоновки.