我想要格式化的属性“referenceId”。这是我的模型代码:

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();

有什么方法可以声明模型内部的格式吗?我似乎无法理解这部分的文档。

这是一个字段的图像,里面有一个逗号,我想删除它,因为这是一个引用 ID,而不是那种值。

enter image description here

有帮助吗?

解决方案

数字字段KeystoneJS 使用 数字.js 用于格式化值的库。

您可以在字段上设置一个选项来控制默认格式字符串,该字符串可以是数字知道如何处理的任何有效格式,例如:

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

管理 UI 将始终使用中的字符串格式化该值 format 选项。删除所有格式(例如千位分隔符)只需将其设置为“0”,如上例所示。

您可以使用模板中的默认格式 .format 下划线法 关于该项目:

div= stockItem._.format()

underscore 方法接受一个字符串参数,该参数会覆盖 format 模型中设置的选项,因此您可以在模板中以不同的方式呈现它,例如

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

数字字段的默认格式字符串是 '0,0[.][000000000000]'

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top