javascript - 如何在 KeystoneJS 中设置数字字段的格式?

标签 javascript keystonejs

它是我想要格式化的属性“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

最佳答案

Number fieldsKeystoneJS使用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/

相关文章:

node.js - 如何将 Keystone.JS 添加到现有 Express.js 应用程序?

javascript - TransitionTo 后 Ember.js 历史记录不起作用

javascript - 在 Firebase 中加载数据时运行 JQuery

node.js - 使用 Model.find() 调用 MongoDB 时 KeystoneJS 中间件运行两次

javascript - 为什么在调用 api 时必须返回一个函数,而在express(KeystoneJs)中调用 View Controller 时则不需要返回函数?

node.js - 如何在 keystone 中提供静态站点?

javascript - 将 javascript 数组从 0 切片到 Arrays.length 的目的是什么?

javascript - 如何将我的聊天框分享到其他网站?

javascript - 如何禁用谷歌 360 旅游滚动缩放?

javascript - 为 keystoneJS 中的嵌套字段设置 'dependsOn'