У меня есть приложение, созданное в Angular 5 с использованием базы данных реального времени Firebase. Моя форма использует ngModel и имеет поле идентификатора пользователя и пользовательское поле имени пользователя. Мне нужно, чтобы имя пользователя имело значение по умолчанию для идентификатора пользователя, если пользователь не решит его изменить.
<label class="label-control" for="idInput">User Name</label>
<input id="userId" type="text" for="idInput" class="form-control"
required minlength="1" name="userId"
[(ngModel)]="userData.userId"
#userId="ngModel"
placeholder="e.g. johnhancock1776"
/>
<label class="label-control" for="vanityInput">Your Custom URL</label>
<input id="vanityId" type="text"
for="vanityInput"
class="form-control"
name="vanityId"
[(ngModel)]="userData.vanityId"
value="{{userData.userId}}"
#vanityId="ngModel"
placeholder="custom url" />
Когда пользователь вводит свой идентификатор пользователя, поле идентификатора тщеславия заполняется, но не будет отправлять данные в базу данных, если они не добавят или не удалят что-то из поля тщеславия.
Я попытался добавить:
[ngModelOptions]="{updateOn: 'submit'}"
в поле тщеславия позволяет отправить пустую строку, если ни одно из полей не затронуто, но ничего не отправит, если изменится только идентификатор пользователя.