2015-11-25 60 views
2

我遇到了麻煩的雙向數據綁定到一個對象。下面是設置的例子:角度KendoUI Combobox初始模型值

<select kendo-combo-box 
     k-data-source="objectList" 
     k-placeholder="'Content Type'" 
     k-data-text-field="'title'" 
     k-filter="'contains'" 
     k-ng-model="selectedObject" 
     k-on-change="doSomeStuff()"></select> 

這工作,除非的selectedValue默認值是前細:

{ 
    title: 'defaultValue', 
    value: someValue 
} 

我希望,這將在下拉列表爲所選項目中反映。但是,組合框將對象轉換爲字符串,並且所選值爲[對象對象]。在初始化時,它不尊重k-data-text-field屬性。

我不知道如何做到這一點,我認爲我想要做的應該是預期的行爲。有誰知道如何做到這一點?

回答

1

問題是,您正在使用k-data-text-field而未指定k-data-value-field

如果沒有這個Kendo,無法確定在窗口小部件上調用.value()時應該綁定的實際值是什麼,所以它只是對整個對象執行.toString()

kendo docs

重要dataTextField定義,在dataValueField選項也應該設置。

您只需添加一些方法讓kendo在綁定列表中唯一標識您的對象。

k-data-value-field="'value'"

下面是一個例子顯示,可能是什麼樣子:

http://dojo.telerik.com/Ukije

+0

好吧,我覺得有點呆子,因爲我敢發誓,我已經試過了,並沒有得到預期的結果。我添加了k-數據 - 值字段,它工作。但是我還必須添加k-auto-bind =「false」才能顯示k-data-text-field值,而不是顯示k-data-value-field值。 – Sanborn