2017-01-05 66 views
0

我有以下應用程序:https://fiddle.sencha.com/#view/editor&fiddle/1nmm。我正在使用extjs 6.Extjs將配置變量綁定到值

雙擊事件後,我想打開一個新選項卡。新選項卡應該包含一個包含網格信息的表單。我的問題是,當我嘗試綁定顯示字段值時,輸出爲空(不顯示任何內容)。

xtype: 'displayfield', 
fieldLabel: 'Id', 
bind: { 
    value: '{record.data.ts_id}' 
} 

上面的 '記錄',聲明如下:

config: { 
    record: null, 
    rowIndex: null 
}, 

bind: { 
    record: '{recordVM}', 
    rowIndex: '{rowIndexVM}' 
} 

如何正確地綁定到displayfield的價值?

回答

0

兩件事:

1)修改你傳遞數據的視圖模型在TabUIController方式:

viewModel: { 
    data: { 
     record: record, 
     rowIndex: rowIndex 
    } 
} 

沒有意義,試圖重新映射那些東西。

2)將視圖中的綁定語句修改爲value: '{record.ts_id}',該綁定足夠聰明,可以在查看記錄時鑽入字段。

+0

它的工作:[這裏](https://fiddle.sencha.com/#fiddle/1nog&view/editor)是小提琴。我仍然有一些問題:當綁定到displayfield值時,綁定變量似乎是來自視圖模型的變量,而不是來自config的變量。如果您想要將數據進一步傳遞到層次結構中(例如,如果您有模態窗口),則使用配置方法?如果沒有,當使用配置方法? – florin

0

試試這個:

TabUIGrid.js

bind: { 
    store :'{users}', 
    selection : '{myrecord}' 
}, 

TabFormTest.js

{ 
     xtype: 'displayfield', 
     fieldLabel: 'Name', 
     bind: '{myrecord.ts_name}' 
    }, { 
     xtype: 'displayfield', 
     fieldLabel: 'Email', 
     bind: '{myrecord.ts_email}' 
    } 

我測試你的小提琴,它工作正常。

+0

是的,它的工作,但有一個問題:[這裏](https://fiddle.sencha.com/#fiddle/1nof&view/editor),當你打開一個新標籤,然後改變網格選擇,信息在打開的選項卡中也會更改。這是一個不受歡迎的行爲。 – florin