2

它是我要格式化的属性“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,而不是那种值。

在此处输入图像描述

4

1 回答 1

2

KeystoneJS中的数字字段使用numeric.js库来格式化值。

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

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

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

.format 您可以通过在项目上使用下划线方法在模板中使用默认格式:

div= stockItem._.format()

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

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

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

于 2014-02-27T14:18:48.127 回答