它是我想要格式化的属性“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,而不是那种值。
最佳答案
Number fields在 KeystoneJS使用numeral.js用于格式化值的库。
您可以在字段上设置一个选项来控制默认格式字符串,该字符串可以是数字知道如何处理的任何有效格式,例如:
referenceId: { type: Number, format: '0', required: true }
管理 UI 将始终使用 format
选项中的字符串格式化该值。要删除所有格式(例如千位分隔符),只需将其设置为“0”,如上例所示。
您可以通过使用 .format
underscore method 在模板中使用默认格式。关于该项目:
div= stockItem._.format()
下划线方法接受一个字符串参数,该参数会覆盖模型中设置的format
选项,因此您可以在模板中以不同的方式呈现它,例如
div= stockItem._.format('0,0');
数字字段的默认格式字符串为'0,0[.][000000000000]'
关于javascript - 如何在 KeystoneJS 中设置数字字段的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22064275/