يجب ألا يتأثر التمرير بالرسم البياني المباشر.
المخطط الشريطي مع البيانات الحية يخلق مشاكل في التمرير.
من المحتمل أن يكون هذا مرتبطًا مرة أخرى بالأشياء الموضحة في # 1410.
عندما يتم تعيين بيانات السلسلة ، يتم استدعاء وظيفة تحديث الرسوم البيانية:
https://github.com/dynatrace-oss/barista/blob/24647e8c15b388cd128ba102fe9f6cf1ffbb4620/libs/barista-components/chart/src/chart.ts#L232 -L236
في وظيفة التحديث هذه ، نحتاج إلى تدمير كائن المخطط الحالي وإعادة تثبيته مرة أخرى. تحتوي Highcharts على وظيفة تحديث ، على الرغم من أن هذا لن يسمح للمستهلك بتحديث جميع خصائص السلسلة أو خيارات الرسم البياني. لقد أدى ذلك إلى حدوث مشكلات في الماضي ، ولهذا السبب قمنا بتنفيذ وظيفة إعادة إنشاء مثيل في 6df1df81f9f935e6185505757893b4a4ba965099.
قبل التغيير ، بدت وظيفة التحديث على هذا النحو ، حيث تم تمرير السلسلة والخيارات الجديدة إلى الوظيفة Highcharts.update
.
https://github.com/dynatrace-oss/barista/blob/dd7fa6f35daa06593081a9700c74fe50757f77ef/src/lib/chart/chart.ts#L543 -L553
لفترة وجيزة من الوقت أثناء إعادة بنائه ، سيكون ارتفاع عنصر المخطط 0 ، مما يؤدي إلى إعادة التسجيل.
TannerGilbert كحل بديل ، يمكن التحايل على ذلك عن طريق تعيين ارتفاع على الحاوية أو الرسم البياني نفسه لمنع إعادة التدفق:
https://stackblitz.com/edit/scroll-bug-mvactj؟file=src٪2Fapp٪2Fapp.component.scss
@ ffriedl89lukasholzer سيكون أحد الحلول لهذه المشكلة هو قراءة الارتفاع الحالي للمخطط في طريقة التحديث
نعم فيما يتعلق بالآثار الجانبية ، لست متأكدًا لأننا دائمًا نتحقق من this._chart._afterRender
على سبيل المثال في منطقة التحديد (يجب تشغيل هذا الموضوع) بعد إعادة تعيين الارتفاع.
أعتقد أن أفضل نهج هو اختباره لاكتساب رؤى حول كيفية تحسينه.
TannerGilbert هل تريد المساهمة بهذا الإصلاح في المكتبة؟ بالتأكيد يمكننا مساعدتك حتى في جلسة برمجة زوجية.
lukasholzer أود المساعدة في إصلاح الخطأ ، لكن معرفتي بقاعدة كود باريستا والرسوم البيانية العالية محدودة للغاية. كما تبدو جلسة البرمجة الزوجية جيدة بالنسبة لي. ربما دعونا نناقش وقتًا في Slack.
انتقل إلى تتبع المشكلة الداخلية
التعليق الأكثر فائدة
lukasholzer أود المساعدة في إصلاح الخطأ ، لكن معرفتي بقاعدة كود باريستا والرسوم البيانية العالية محدودة للغاية. كما تبدو جلسة البرمجة الزوجية جيدة بالنسبة لي. ربما دعونا نناقش وقتًا في Slack.