#javascript #html #css #angular #typescript
#javascript #HTML #css #angular #typescript
Вопрос:
В поле ввода, когда пользователь что-то вводит, мне нужно, чтобы оно представляло «$» для каждого символа, который он вводит. Но фактическое значение должно оставаться неизменным.
Например, если пользователь вводит «Surendher»
Он должен видеть «$$$$$$$$$» в поле ввода
Значение модели должно оставаться «Верным»
Пожалуйста, сообщите мне об этом.
Комментарии:
1. Вам нужно скрыть пароль или он предназначен для чего-то другого?
2. @QuentinFonck — Да, мне нужно скрыть свой пароль, не устанавливая тип ввода =»пароль». Существующий обходной путь в stack overflow: 1. Применение style -webkit-text-security: disc; 2. Установка dotfont в качестве семейства шрифтов для поля ввода. Это мне не нравится.
3. Почему бы не использовать input type=»password» для пароля?
4. @Sprep — Если я использую тип ввода =»пароль», браузер начнет спрашивать «Хотите ли вы сохранить эти учетные данные», которые мне не нужны
Ответ №1:
Просто идея, но это НЕХОРОШО, ОШИБКИ! Лучше использовать css / type=’password’ .
let realValue = '';
const str =Array(100).fill('$').join('');
changed = (value) => {
if(value.length > realValue.length) {
const target = value.slice(-1);
realValue = target;
this.displayValue = str(0, value.length)
}
}
<input [(ngModel)]="displayValue" #input (keyup)="changed(input.value)">