تحاول الحصول على uibinder لإعطائي امتدادًا وليس div

StackOverflow https://stackoverflow.com/questions/2257924

  •  20-09-2019
  •  | 
  •  

سؤال

أقوم ببناء عنصر واجهة مستخدم مع 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 محكم أو نص عادي على التوالي في أ

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top