تحاول الحصول على uibinder لإعطائي امتدادًا وليس div
سؤال
أقوم ببناء عنصر واجهة مستخدم مع Uibinder ، وأحتاج إلى إرفاقه في أ <span />
لكن Uibinder يعطيني فقط <div />
. على سبيل المثال <g:HTMLPanel />
=> <div />
. Horizonpanel ، Flowpanel ، verticalpanel يعطي أيضا فقط <div />
.
لا أحد يعرف الحل؟
المحلول
جرب هذا:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:HTMLPanel tag="span">
<!-- your stuff -->
</g:HTMLPanel>
</ui:UiBinder>
نصائح أخرى
يمكنك الاستمرار في استخدام ملف <div>
لكن فقط أضف display: inline
إلى CSS ، والتي ستجعلها تظهر كما لو كانت <span>
.
تحرير: مكان ثابت في النهاية حيث قلت "div" ولكن يعني "span".
فيما يتعلق بالإجابة أعلاه من قبل روبرت (آسف لا يمكنني معرفة كيفية التعليق مباشرة)
لن ينجح هذا خارج الصندوق ، حيث لا يمكن وضع الأدوات المصغرة داخل HTML العادي (سوف يمنحك المترجم "خطأ: تم العثور على عنصر واجهة مستخدم في سياق HTML"). ولكن هناك حل بديل بسيط:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:HTMLPanel>
<span>
<!-- Your content with widgets goes here -->
</span>
</g:HTMLPanel>
</ui:UiBinder>
أحد الأشياء المفيدة الأخرى التي يجب ذكرها هو inlinehtml و inlinelabel أجهزة واجهة المستخدم القادرة على عقد HTML محكم أو نص عادي على التوالي في أ