إرجاع عنصر واجهة مستخدم:
ما يمكنك فعله هو إرجاع عنصر واجهة مستخدم مخصص خاص بك إلى api.decorateWidget، مما يمنحك المزيد من التحكم فيما يتعلق بتطبيق السمات والحالة والإجراءات وما إلى ذلك.
لذلك يمكنك القيام بما يلي:
api.decorateWidget('menu-links:before', helper => {
return helper.widget.attach("custom-menu-links");
});
ثم داخل javascripts/discourse/widgets/custom-menu-links.js، قم بإنشاء عنصر واجهة مستخدم باستخدام مساعد إنشاء عنصر واجهة المستخدم:
import { createWidget } from 'discourse/widgets/widget';
createWidget('custom-menu-links', {
...
});
ألقِ نظرة على هذا الموضوع لمعرفة بعض ميزات عناصر واجهة المستخدم:
لقد استخدمت عناصر واجهة المستخدم كثيرًا في مكون سمة رأس القائمة المنسدلة الخاص بي، وقد تجد بعض الكود مفيدًا.
إضافة target=“_blank”
تقوم بإضافته إلى كائن السمات:
return helper.h('a.google',
{
attributes: {
href: "https://google.com",
target: "_blank",
title: "Google"
},
}
...
);