如何在 KeystoneJS 中设置数字字段的格式?
-
23-12-2019 - |
题
我想要格式化的属性“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,而不是那种值。
解决方案
数字字段 在 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]'
不隶属于 StackOverflow