169 похожих чатов

А как ограничиваете количество строк для textarea? Хочу например, чтобы

было не больше 3 например

10 ответов

45 просмотров

это наверное rows - Определит height textarea, я реализовывал динамическую смену rows, чтобы поле расширялось в зависимости от прибавления строк, и уменьшалось если строк становилось меньше.

или css : min-height max-height Смотря какая цель.

Danila-Bakunov Автор вопроса
iQs Solution
это наверное rows - Определит height textarea, я р...

А нет готовых решения, чтобы добавление новых строчек блочилась? но она не блочится, а добавляется скролл просто. Сейчас использую autosize textarea

Danila Bakunov
screenshot А нет готовых решения, чтобы добавление новых стро...

Ну там ещё надо помоему textarea добавить overflow: hidden; И как-то отслеживать содержимое textarea Либо отдельно в функции, либо внутри jsx чтобы отлавливать value —— const [row, setRow] = useState(1) через useEffect например отслеживать стэйт и в jsx <textarea rows={row}></textarea>

Danila Bakunov
screenshot А нет готовых решения, чтобы добавление новых стро...

Нет, готового решения нет. И ты путаешь количество строк и количество символов, визуально помещающихся в одну ширину. Строки разделяются символами переноса строк, можно валидировать строку в onChange и запрещать добавление новых переносов при достижении конкретного количества. С количеством символов без переносов сложнее — нужно знать, сколько символов помещается в одной строке. И это количество может быть разным в зависимости от настроек пользователя. В любом случае костыли и велосипеды. Задача какая? Скорее всего она решается как-то иначе, если её озвучить, можно получить совет.

Ivan 🧑‍🚀
Нет, готового решения нет. И ты путаешь количество...

Я ещё вешал событие онченж на кнопку интер. Так прибавлялись строки. И ещё можно отслеживать дэлет и бэкспейс.

iQs Solution
Я ещё вешал событие онченж на кнопку интер. Так пр...

Молодец. Коллбэк onChange вызывается для любого типа ввода. Для бэкспейсов и энтера тоже

Danila-Bakunov Автор вопроса
Ivan 🧑‍🚀
Нет, готового решения нет. И ты путаешь количество...

Да мне тоже не нравится данный подход. Хочу чтобы у textarea нельзя было превысить заданное количество row. Сейчас стоит maxRows= 4 и minRows=2 к примеру. С 2 до 4 у меня height динамически изменяется с помощью react-textarea-autosize . А вот запретить добавление более 4 строк, не знаю как. Думаю остается только отслеживать количество Row. Надеюсь доступно объяснил. То есть просто запрет на новый row если row уже равен maxRow. А если row = maxRow, там следить что тыкает пользователь и если новый символ создает новую строчку, предотвратить это) как то так я себе алгоритм вижу

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта