你可以更有效地做到這一點,但是這是描述解決問題的最明確的方式,並可以很容易地讀/實施/擴大。我在底部包含了一個鏈接到一個plnkr,該鏈接將這些值寫入到文檔中,以便您可以看到這一點。我已經刪除了文件撰寫輸出在這裏代碼:
當你在獲取你的數據:通過對象數組中
const data = [{
"id": 1,
"value": "0.59"
}, {
"id": 2,
"value": "N"
}, {
"id": 3,
"value": "LOW"
}, {
"id": 4,
"value": "HIGH"
}, {
"id": 5,
"value": "Y"
}]
迭代,如果是Y或N值,然後添加一個具有適當的真/假值的booleanValue鍵,並使用您的複選框將其綁定到該鍵。通過數組中的對象
const submitData = [{
"id": 1,
"value": "0.59"
}, {
"id": 2,
"boolValue": true
}, {
"id": 3,
"value": "LOW"
}, {
"id": 4,
"value": "HIGH"
}, {
"id": 5,
"boolValue": false
}]
迭代,如果它們是:
for (var i=0; i<data.length; i++) {
if (data[i].value == "Y") {
data[i].boolValue = true
} else if (data[i].value == "N") {
data[i].boolValue = false
}
}
當你保存數據(能見度刪除Y/N值,他們仍然會在您的數據) true或false值,然後將值鍵設置爲適當的Y/N值。
for (var i=0; i<submitData.length; i++) {
if (submitData[i].boolValue == true) {
submitData[i].value = "Y"
} else if (submitData[i].boolValue == false) {
submitData[i].value = "N"
}
}
https://plnkr.co/edit/DrAvyMV5BqADhLdTTn6M?p=preview
您可以將複選框綁定到一個settor模型變量。當變量設置爲true時,將另一個隱藏表單輸入值更新爲'Y'。當變量設置爲false時,將隱藏的輸入更新爲'N' – BeetleJuice
這就是我打算在開始時所做的事情,但我有很多複選框,如果我認爲實施它時效率不高。現在我想創建一個自定義組件/輸入,但我仍然不知道如何將其更改爲Y和N – ilovejavaAJ
如何獲取數據?從服務通過Observable?當您最初獲取數據並直接綁定到值時,可以使用.map將數據中的Y/N值轉換爲真/假。 –