KeystoneJSの数値フィールドをフォーマットするにはどうすればよいですか?

StackOverflow https://stackoverflow.com//questions/22064275

  •  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]'

です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top