簡體   English   中英

來自嵌套數據的計算字段

[英]Calculated field from nested data

是否可以創建一些Ext.data.Field ,它會從嵌​​套數據中獲取其值?

我試過這個,但它不起作用:

Ext.define('User',{
  extend: 'Ext.data.Model',
  fields: [
    {name: 'id', type: 'int'},
    {name: 'sum', type: 'float', persist: false,
      convert: function(value, record) {
        return record.products().sum('cost');
      }}
  ],
  hasMany: 'Product'
});

Ext.define('Product',{
  extend: 'Ext.data.Model',
  fields: [
    {name: 'id', type: 'int'},
    {name: 'cost', type: 'float'}
  ]
});

我在單個響應中從服務器加載數據。 而此時我必須捕捉修改產品模型數據的事件並手動更新User總和字段。

嘗試這個:

Ext.define('Product',{
  extend: 'Ext.data.Model',
  fields: [
    {name: 'id', type: 'int'},
    {name: 'cost', type: 'float'}
  ]
});

Ext.define('User',{
  extend: 'Ext.data.Model',
  fields: [
    {name: 'id', type: 'int'},
    {name: 'sum',
      convert: function(value, record) {
        var sum = 0;
        Ext.each(record.products, function(cost){ sum += cost; } );
        return sum; 
      }}
  ],
  hasMany: { model : 'Product',  name : 'products' } 
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM