KeystoneJSの数値フィールドをフォーマットするにはどうすればよいですか?
-
23-12-2019 - |
質問
それは私がフォーマットしたいというプロパティ 'rebareid'です。私のモデルコード:
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();
.
モデル内のフォーマットを宣言する方法はありますか?私はこの部分の文書を理解しているようです。
それを中にカンマを持つフィールドのイメージを、それを取り除きたいのであれば、そのようなものではなく、そのようなものではありません。
解決
keystonejs numers.js ライブラリ
デフォルトのフォーマット文字列を制御するためにフィールドに設定できるオプションがあります。これは、数字を知っていることがある任意の有効な形式、e.g:
referenceId: { type: Number, format: '0', required: true }
.
管理UIは常にformat
オプションの文字列を使用して値をフォーマットします。すべてのフォーマット(例えば、数千の区切り文字)を削除するには、上記の例のように「0」に設定します。
.format
アンダースコア方法を使用して、テンプレートのデフォルト形式を使用できます。アイテム:
div= stockItem._.format()
.
アンダースコアメソッドは、モデル内のformat
オプションをオーバーライドする文字列引数を受け入れているため、テンプレート、例えばテンプレートでは異なるレンダリングできます。
div= stockItem._.format('0,0');
.
Numberフィールドのデフォルト形式の文字列は'0,0[.][000000000000]'
所属していません StackOverflow