поставь лог в сетере, а не а методе
в сеттере получает значение введенное, по дебагеру тоже показывает, что везде передается новое значение, а в консоль в методе выводит старое, но при этом в дате выводит корректно новое значение (так же в методе). Вот и интересно - почему?
Писать значения в input value очень непросто. Чтобы запрещать или изменять пользовательский ввод - нужна маска. Попробуйте v-maska. Все маски действуют однотипно. Они первый раз пропускают несоответствующий ввод и тут же его исправляют. Поэтому желательно еще допрлнительно валидировать дату.
Обсуждали недавно <input v-model="phone_number"> data () { phone_number : null } watch () { phone_number (v) { if (v) { //маска номера, которую мы заслужили // так же желательно перед перезаписью проверить регуляркой, нужно перезаписывать или нет this.phone_number = v.replace(/[^0-9+]/, ''); } } }
Дело не в маске. У меня стоит маска своя, но даже, если убрать и оставить просто текстовый инрут, то ситуация, как описал. И от того не ясно почему же так
А где сама передача пропсом? Не вижу
Сам пропс из родителя идет. Там пока, для проверки, хардкодом число вбито и оно в инпут этот попадает и отображается, но не меняется из компонента инпута🤷♂
можешь на кодсендбоксе воспроизвести?
Чуть позже
У тебя модель привязана к this.newTime, а this.newTime возвращает твой пропс, который прописан хардкодом. Почему ты ожидаешь его изменения?
https://codesandbox.io/s/late-glitter-hyxid?file=/src/App.vue
так ты нигде не обновляешь значение в родителе
https://codesandbox.io/s/compassionate-benz-36z87
я заменил :text на v-model и объявил в TextInput какои проп\эвент использовать для модели
Спасибо, работает! Но не понятен всё же момент, почему на дате обновляется, а на текстах нет - прописано один в один
Обсуждают сегодня