Html-react-parser: lowCaseAttributeNames: false ، لا يقوم بعمله. السمات لا تزال أحرفًا صغيرة فقط.

تم إنشاؤها على ٢٦ يوليو ٢٠٢٠  ·  9تعليقات  ·  مصدر: remarkablemark/html-react-parser

سلوك متوقع


اسم سمة textarea: يجب أن تظل "defaultValue" كبيرة ، ولكن بدلاً من ذلك ، تصبح أحرفًا صغيرة: "defaultvalue".
أنا أستخدم مفتاح الخيار htmlparser2 لتحديد الخيارات ذات الصلة لجعل هذا يعمل ، لكنه لا يزال فاشلاً.

السلوك الفعلي


تصبح defaultValue القيمة الافتراضية (حرف صغير "v") حتى مع إعداد خيارات htmlparser2 (انظر أدناه).

خطوات التكاثر


استخدم قالب html مع عناصر عقدة مع اسم السمات يحتوي على أحرف كبيرة ، وقم بتحليلها ، واستخدم خيار htmlparse2 لمحاولة إزالة LowerCaseAttributeNames ، وإلقاء نظرة على النتيجة ... لا تزال أسماء السمات الصغيرة.

نسخة تجريبية قابلة للتكرار

textarea(type='text' id='message' name='message'
                        rows="4" cols="50" defaultValue="")

(تم جلب قالب الصلصال إلى عميل رد فعل ، ثم تعرض console.log أن النص المعروض للقالب لا يزال يحتوي على أسماء سمات أحرف كبيرة)

parse(this.state.content, 
            { htmlparser2: {
                xmlMode: true,
                lowerCaseAttributeNames: false,
                lowerCaseTags: false
              } 
            } )

بيئة

  • إصدار:
    0.13.0
  • برنامج:
    أرشلينكس
  • المستعرض:
    فايرفوكس 78.0.2

ال 9 كومينتر

شكرا لفتح هذا العدد @ jerome-diver. هل يمكنك مساعدتي إنشاء هذه المشكلة على Repl.it ، JSFiddle ، أو CodeSandbox ؟

لا أستطيع. ولكن لديك كل العناصر المطلوبة لإعادة إنتاج المشكلة. فقط قم بتحليل سلسلة html تحتوي على اسم سمات الأحرف الكبيرة وسترى.

remarkablemark أواجه هذا أيضًا. إليك حالة اختبار تافهة إلى حد ما: https://repl.it/repls/Fri friendlyYearlyPublisher#index.js. أعتقد أن هذا يعمل على تشغيل Node ، لكنني أواجه ذلك في المتصفح أيضًا.

أتوقع أن يكون type في الكائن المرتجع MyCustomUppercaseComponent ، وليس mycustomuppercasecomponent . هل هذا فهم صحيح لعلامة lowerCaseTags ؟

شكرا!

lazerwalker ما هو إصدار html-react-parser الذي تستخدمه؟ أرى في جهاز Repl.it الخاص بك أنك تستخدم 0.10.1 .

تم توفير هذه الميزة في 0.12.0 . أيضًا ، هذا يعمل فقط من جانب الخادم (Node.js) ولا يعمل من جانب العميل (المتصفح).

انظر Repl.it لمثالك الذي يعمل.

آها ، آسف لذلك - لقد نقرت للتو على رابط Repl.it الذي نشرته أعلاه واستخدمت كل ما أعطاني إياه. لكنها ستفشل بالنسبة لي محليًا لأنني أفعل ذلك في المتصفح.

لا يحدد README أن هذه الميزة لا تعمل في المتصفح. يسعدني إرسال PR لتحديثه ، لكنني أردت فقط التأكيد: هل هذه العلامة على وجه التحديد غير مدعومة ، أو تغيير أي إعدادات htmlparser2؟

lazerwalker نعم ، سيتم تقدير العلاقات العامة بشكل صريح 0.12.0 وتعمل فقط على الخادم (Node.js) وليس العميل (المتصفح).

قد يتطلب جعل هذه الميزة تعمل في المتصفح بعض الجهد لأنه في html-dom-parser ، يتوفر htmlparser2 فقط على Node.js ولا يتم تضمينه عن قصد في حزمة المتصفح نظرًا لحجمه الكبير.

هذه مشكلة بالنسبة لي أيضا. أي شخص لديه عمل حول؟

أنا شخصياً لم أتمكن من العثور على حل متصفح (بدلاً من Node) ، لكنني لم ألقي نظرة على هذا خلال عام.

أنا أيضًا أبحث عن حل لهذه المشكلة ، تطبيقنا يعمل في المتصفح ...؟ في الواقع يجب إعادة فتح هذه المشكلة remarkablemark ؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات