I'm sorry, I couldn't reproduce the issue on my form. The function woks just fine.
Try to debug your code, maybe there is a typo in the field internal name or something else.
Or simply use the this code:
fd.field('ApprovedBy').value = props[i].Value;
fd.field('ApprovedBy').ready().then(function (field) {
if (field.value) {
field.disabled = true;
}