سؤال

إنها خاصية "المعرف المرجعي" التي أرغب في تنسيقها.إليك رمز النموذج الخاص بي:

var keystone = require('keystone'),
    Types = keystone.Field.Types;

var Stock = new keystone.List('Stock', {
    map: { name: 'adminDisplayTitle' },
    autocreate: true
});

Stock.add({
    adminDisplayTitle: { type: String, required: true , default: 'Title to show in this Admin UI'},
    referenceId: { type: Number, required: true },
    country: { 
        type: Types.Select, 
        options: [
            { value: 'sv', label: 'Sweden' },
            { value: 'fi', label: 'Finland' },
            { value: 'dk', label: 'Denmark' }
        ], 
        required: true
    },
    author: { type: Types.Relationship, ref: 'User' },
    rating: { type: String, required: true },
    rate: { type: Number, required: true },
    published: { type: Boolean, default: false }
});

Stock.defaultColumns = 'adminDisplayTitle, referenceId, author, createdAt';

Stock.register();

هل هناك أي طريقة للإعلان عن التنسيق داخل النموذج؟يبدو أنني غير قادر على فهم الوثائق لهذا الجزء.

إليك صورة للحقل بداخله فاصلة، إذا كنت أرغب في التخلص منها لأن هذا معرف مرجعي، وليس قيمة من هذا النوع.

enter image description here

هل كانت مفيدة؟

المحلول

حقول الأرقام في KeystoneJS استخدم ال numberal.js مكتبة لتنسيق القيم.

هناك خيار يمكنك تعيينه في الحقل للتحكم في سلسلة التنسيق الافتراضية، والتي يمكن أن تكون أي تنسيق صالح يعرف الرقم ما يجب فعله به، على سبيل المثال:

referenceId: { type: Number, format: '0', required: true }

ستقوم واجهة المستخدم الإدارية دائمًا بتنسيق القيمة باستخدام السلسلة الموجودة في ملف format خيار.لإزالة كافة التنسيقات (على سبيل المثال.محدد الآلاف) فقط قم بتعيين هذا على "0" كما في المثال أعلاه.

يمكنك استخدام التنسيق الافتراضي في القالب الخاص بك باستخدام .format طريقة تسطير على البند:

div= stockItem._.format()

تقبل طريقة الشرطة السفلية وسيطة سلسلة تتجاوز format تم تعيين الخيار في النموذج، حتى تتمكن من عرضه بشكل مختلف في القوالب الخاصة بك، على سبيل المثال.

div= stockItem._.format('0,0');

سلسلة التنسيق الافتراضية لحقول الأرقام هي '0,0[.][000000000000]'

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