[英]changing displayed value of ngOptions messes with the selected value in drop-down menu
我實現了一項功能,用戶可以將下拉菜單中顯示的溫度值列表分別轉換為攝氏度和華氏度。
我正在使用帶有ng-options的select輸入,如下所示:
<select ng-model="thresshold.selected" ng-options="value as (showCelsius?value:side.convertTo(value, false)) for value in thresshold.values">
showCelsius是布爾值。 預定義的選擇為true ,如攝氏溫度,否則為華氏溫度。 convertTo是一個接受溫度值和showCelsius變量並將其轉換為所需溫度單位的函數。
最初,下拉選擇值(以攝氏度為單位)正確顯示。 當我嘗試更改為華氏溫度時,下拉菜單的標簽將按預期方式更改,但是當我嘗試切換回攝氏溫度時,不會顯示所選值。 嘗試與下拉菜單進行交互將顯示值已正確轉換。 轉換回華氏度會在select中重新顯示所選值。
任何想法為什么會這樣?
根據您的描述,您的函數convertTo(val,bool):
showCelsius?value:side.convertTo(value, false)
接受true / false作為攝氏溫度或華氏溫度的參數。 您的代碼不應該讀如下嗎?
showCelsius?value:side.convertTo(value, showCelsius)
否則,它將始終僅顯示一個選項?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.