• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

react input value edit

Object Storage Arubacloud
0 głosów
120 wizyt
pytanie zadane 5 sierpnia 2020 w JavaScript przez rob Bywalec (2,440 p.)

Witam,

mam taki problem, który niestety mnie przerósł. Mam form w którym dodaję na przykład tytuł taska i to działa, ale pokusiłem się o możliwość jego edycji i to mnie przerosło, mam taki kod

 <input onChange={handleChange} onMouseDown={mouseEnter} onMouseLeave={mouseLeave}
                    value={filterToEdit.length < 1 ? (null) : (console.log(newTask.title), newTask.title)}
                    id='newTask' type="text" />

który powoduje, że w trybie edycji wyświetla mi się w value aktualny stan i tym samum w polu input

 const mouseEnter = (e) => {
        e.target.value = null
    }
    const mouseLeave = (e) => {
        if (e.target.id === 'newTask') {
            setNewTask({ newTask, title: e.target.value })
        }
    }

ten kod miał usuwać poprzez mouseEnter to co się wyświetliło

a mouseLeave miał ustawiać nowy stan na nową wartość e.target.value, ale to nie działa bo przcież e.target.value jest ustawione na null

Jak to rozwiązać? proszę o radę, może w ogóle źle podchodzę do problemu....?

komentarz 5 sierpnia 2020 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)
Nie do końca umiem sobie wyobrazić to co robisz. A co się stanie jeśli zamiast nulla wstawisz ''?
komentarz 5 sierpnia 2020 przez rob Bywalec (2,440 p.)
Jezeli zamiast null ustawię "" jest tak samo,

Musze w polu input wyświetlić stan który użytkownik ustawił wcześniej, robię to poprzez value, a następnie doprowadzić do tego aby to value było edytowalne - żeby na miejsce ustawionego wcześniej stanu-tytułu taska wprowadzić nowy
komentarz 5 sierpnia 2020 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)
wystawisz mi to na jakimś repo?
komentarz 5 sierpnia 2020 przez rob Bywalec (2,440 p.)

dzięki, 

ale rozwiązałem problem ma to być tak

 const mouseEnter = (e) => {
        setNewTask({ newTask, title: null })

    }
    const mouseLeave = (e) => {

        setNewTask({ newTask, title: e.target.value })
    }

ale przy okazji padło mi dodawanie nowego elementu, więc dojrzałem do tego aby dodawanie nowego taska było w jednym komponencie a edytowanie w drugim....

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 142 wizyt
pytanie zadane 4 czerwca 2021 w JavaScript przez ShockWave Bywalec (2,350 p.)
0 głosów
1 odpowiedź 583 wizyt
0 głosów
1 odpowiedź 1,035 wizyt
pytanie zadane 15 czerwca 2020 w PHP przez Filipczak Gaduła (4,020 p.)

92,578 zapytań

141,427 odpowiedzi

319,653 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...