الحقول المخصّصة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
على الرغم من أن تطبيق Blockly يوفر العديد من الحقول المفيدة، إلا أنه ربما يتضمن تطبيقك حالة متخصصة. إليك بعض الخطوات التي يجب اتخاذها عند تخصيص الحقول:
اطلع على وثائق أي حقول مشابهة للمتطلبات التي تحتاج إليها، فقد توفر واجهة مستخدم مفيدة للتخصيص. على سبيل المثال، تحتوي القوائم المنسدلة على الكثير من الوظائف المخفية.
يمكنك استخدام أداة التحقق لحل مشكلتك.
تسمح لك أدوات التحقق بقبول قيم معينة فقط أو تعديل الإدخال أو تشغيل الوظائف
عند تغيير قيمة الحقل.
جرِّب تمديد حقل.
إذا كان هناك حقل يمثل نوع القيمة الذي تريده، ولكنك تريد تعديل المحرر أو
مظهره أو
نصه
الذي يمكنك عرضه، يمكنك إنشاء فئة فرعية
تكتسب معظم الوظائف، مع إلغاء الأجزاء المحددة التي تريد تغييرها.
أنشئ نوع حقل جديدًا.
وعلى الرغم من أن هذا هو الخيار الأكثر فعالية، فهو أيضًا الأكثر استهلاكًا للوقت، ويجب بشكل عام عدم استخدامه إلا إذا كنت بحاجة إلى تخزين نوع قيمة جديد.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eBlockly offers customization options beyond its built-in fields, allowing developers to tailor fields to their specific needs.\u003c/p\u003e\n"],["\u003cp\u003eBefore creating a new field type, explore existing fields, validators, and extension capabilities for potential solutions.\u003c/p\u003e\n"],["\u003cp\u003eLeverage validators to control accepted values, modify input, or trigger actions based on field value changes.\u003c/p\u003e\n"],["\u003cp\u003eExtend existing fields to modify their editor, appearance, or displayed text while inheriting core functionality.\u003c/p\u003e\n"],["\u003cp\u003eCreating a new field type is the most powerful but time-intensive option, reserved for storing new value types.\u003c/p\u003e\n"]]],["Customizing Blockly fields involves several steps: First, review documentation of similar fields for potential customization options. Second, use validators to control accepted values, modify input, or trigger actions upon value changes. Third, extend existing fields by creating subclasses to modify their editor, appearance, or displayed text. Finally, create a new field type for storing novel value types, though this is the most complex option.\n"],null,["# Custom fields\n\nWhile Blockly provides many useful fields, your application may have a\nspecialized case. Here are a few steps to take when customizing fields:\n\n1. Read the documentation of any fields similar to what you require; they may\n provide a useful interface for customization. For example,\n [dropdowns](/blockly/guides/create-custom-blocks/fields/built-in-fields/dropdown) have a lot of hidden functionality.\n\n2. Consider using a [validator](/blockly/guides/create-custom-blocks/fields/validators) to solve your problem.\n Validators allow you to only accept certain values, modify input, or trigger\n functionality when a field's value changes.\n\n3. Consider [extending a field](/blockly/guides/create-custom-blocks/fields/customizing-fields/extending).\n If there is a field that represents the value type you require, but you want to\n modify its [editor](/blockly/guides/create-custom-blocks/fields/anatomy-of-a-field#editor_display), its\n [appearance](/blockly/guides/create-custom-blocks/fields/anatomy-of-a-field#on-block_display), or the\n [text](/blockly/guides/create-custom-blocks/fields/customizing-fields/creating#text) it\n displays, you can [create a subclass](/blockly/guides/create-custom-blocks/fields/customizing-fields/extending#subclassing)\n that inherits the bulk of the functionality, while overriding the specific parts\n you want to change.\n\n4. [Create a new field type](/blockly/guides/create-custom-blocks/fields/customizing-fields/creating).\n While this is the most powerful option, it is also the most time consuming, and\n should generally only be used if you need to store a new value type."]]