Реактивные формы Входные данные в формате Angular

Привет, я новичок в формах Angular Reactive и пытаюсь понять это.

Что я хочу сделать, так это отформатировать входные данные в верхнем регистре:/

<input #stateInput matInput type = "text" 
formControlName = "state" 
[matAutocomplete] = "autoState" maxlength = "2"
(keyup) = "stateInput.value.toUpperCase()" 
required>

Я не смог заставить это работать?

Любая помощь приветствуется

Спасибо

Мне нравится использовать <input style = "text-transform:uppercase"> и при отправке преобразовать переменную. Другой способ, который вы должны учитывать, если вы вводите в середине ввода

Eliseo 08.04.2019 21:24
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
139
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

вы можете просто использовать приведенный ниже код, который мгновенно преобразует ввод в UpperCase,

oninput = "this.value = this.value.toUpperCase()"

вот пример Пример

Для достижения ожидаемого результата используйте опцию ниже

Проблема: После изменения входного значения в верхний регистр его необходимо переназначить для отображения в поле ввода.

<input
    type = "text"
    [formControl] = "state"
    #stateInput
    (keyup) = "stateInput.value = stateInput.value.toUpperCase()"
  />

код песочницы для справки - https://codesandbox.io/s/6l9nk4k2zn

проблема с вашим кодом заключается в том, что вы пытаетесь нажать клавишу в середине ввода

Eliseo 08.04.2019 21:27

@Eliseo, этот сценарий невозможен в соответствии с вопросом SO, так как максимальная длина составляет всего два

Naga Sai A 08.04.2019 21:33

::glups:: я не вижу этой детали

Eliseo 08.04.2019 21:34

@Eliseo, я только что попытался нажать клавишу в середине ввода, он работает, как и ожидалось - codeandbox.io/s/0pwrknw97l .. Это работает в этом сценарии, потому что я меняю полное входное значение на верхний регистр, а не на основе местоположения :)

Naga Sai A 08.04.2019 21:40

когда я набираю "abde", и я ставлю курсор между b и d и набираю c (чтобы сформировать "abcde", курсор переходит в конец ввода. Поэтому, если вы напишете в html {{state.value} }, вы можете видеть, что значение не слишком большое. Если вы поместите maxlength = "2" и наберете ab, перейдите к первому, уберите "a" и введите C, курсор также дойдет до конца

Eliseo 09.04.2019 08:42

... Если вы хотите контролировать положение курсора, вам нужно «поиграть» с «selectionStart и selectionEnd элемента html, некоторые из них похожи на «сложную» директиву в stackoverflow.com/questions/55086460/…. Чтобы преобразовать в верхний я думаю, что это слишком много кода

Eliseo 09.04.2019 08:46

Другие вопросы по теме