У меня есть приложение, встроенное в Angular 5, использующее базу данных Firebase Real Time. Моя форма использует 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'}"
в поле тщеславия, которое позволяет отправлять пустую строку, если ни одно из полей не было затронуто, но не отправляет ничего, когда изменяется только идентификатор пользователя.