當我進行下拉選擇時,我的 ng-model 物件變為 null,不知道為什么。
因為它回傳 null 我收到以下錯誤:
TypeError: Cannot read properties of null (reading 'name')
我的代碼
<select ng-options="option.name for option in $ctrl.getAvailableColumnOptions()" ng-model="$ctrl.secondColumnOption"></select>
<select ng-options="option.name for option in $ctrl.getAvailableColumnOptions()" ng-model="$ctrl.thirdColumnOption"> </select>
getAvailableColumnOptions(){
return this.allAvailableColumnOptions.filter(x => x.name !== this.secondColumnOption.name && x.name !== this.thirdColumnOption.name && x.name !== this.fourthColumnOption.name);
}
uj5u.com熱心網友回復:
那是因為選擇后getAvailableColumnOptions()會被解雇。您正在過濾資料源以排除選定的選項。所以現在下拉選單在資料源中沒有合適的模型,ng-model將被清除。
更新:
<select ng-options="option.name for option in $ctrl.getAvailableColumnOptions('secondColumnOption')" ng-model="$ctrl.secondColumnOption"></select>
<select ng-options="option.name for option in $ctrl.getAvailableColumnOptions('thirdColumnOption')" ng-model="$ctrl.thirdColumnOption"> </select>
getAvailableColumnOptions(ignoreOption) {
return this.allAvailableColumnOptions
.filter(x => (ignoreOption === 'secondColumnOption' || x.name !== this.secondColumnOption.name)
&& (ignoreOption === 'thirdColumnOption' || x.name !== this.thirdColumnOption.name)
&& (ignoreOption === 'fourthColumnOption' || x.name !== this.fourthColumnOption.name)
);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/323675.html
標籤:javascript html 有角的 angularjs 打字稿
上一篇:SeChartjs水平
