Народ, а никто не находил контрол, чтоб при вводе в

суммы разделители разрядов вставлял и при этом копейки у сумм адекватно обрабатывал?

9 ответов

19 просмотров

Не знаю есть готовый контрол, но есть дефолтный форматер валют. Можно во VM хранить исходное число и все инпуты обрабатывать, а наружу во вью кидать отформатированную валюту со всеми запятыми, пробелами, валютными символами

Alexey-Dubaev Автор вопроса

Не, задача стоит чтоб во время ввода в текстовое поле форматирование сразу отрабатывало

Alexey Dubaev
Не, задача стоит чтоб во время ввода в текстовое п...

Так текстовое поле отображает данные во ViewModel, если они туда приходят уже отформатированные, то в чем проблема

Alexey-Dubaev Автор вопроса

Почти наверняка уверен, что если при таком подходе например ввести цифру в середину строки, то курсор сразу перебросится в конец строки, из за переприсваивания поля из вьюмодели

Alexey Dubaev
Почти наверняка уверен, что если при таком подходе...

Если не трогать selection, всё будет ожидаемо. Стейт в любом случае для поля нужен, разницы нет где он будет - в функции или ВМ

Alexey-Dubaev Автор вопроса
Владимир Пурис
Если не трогать selection, всё будет ожидаемо. Сте...

я немного с другой платформы пришёл к compose, скажите если я не прав, допустим мы храним стейт во вьюмодели (это не сильно принципиально думаю), тогда в момент передачи его во вьюмодель с последующим форматированием и возвратом назад курсор как минимум будет убегать в конец строки, то есть поставили курсор в середину поля, нажимаем первую цифру, нажимаем вторую - первая вставится в середину, где стоял курсор, (тут курсор улетает в конец) вторая уже вставится в конец строки... Следовательно всю обработку нужно делать во время ввода в коде самого контрола без передачи стейта куда либо

Alexey-Dubaev Автор вопроса

Ну я не Саша... С ксамарина

Что-то похожее https://github.com/Muratthekus/Compose-CurrencyText

Alexey Dubaev
я немного с другой платформы пришёл к compose, ска...

Так сделай фильтр в лямбде и делегируй смену текста во ViewModel если он прошел фильтр

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта