You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/forms.md
+13-14Lines changed: 13 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ redirect_from:
9
9
- "docs/forms-zh-CN.html"
10
10
---
11
11
12
-
A HTML űrlap elemek kissé máshogy működnek a többi React DOM elemhez képest, mert az űrlap elemek alapvetően egy saját belső állapotot tartanak nyilván. Például ez az űrlap szimpla HTML-ben egy nevet fogad be:
12
+
A HTML űrlap elemek kissé máshogy működnek a többi DOM elemhez képest Reactben, mert az űrlap elemek alapvetően egy saját belső állapotot tartanak nyilván. Például ez az űrlap szimpla HTML-ben egy nevet fogad be:
13
13
14
14
```html
15
15
<form>
@@ -21,15 +21,15 @@ A HTML űrlap elemek kissé máshogy működnek a többi React DOM elemhez képe
21
21
</form>
22
22
```
23
23
24
-
Amikor a felhasználó beküldi ezt az űrlapot, a HTML alapviselkedése miatt ez egy új oldalra fog navigálni. Ha ezt a viselkedést szeretnéd elérni Reactben, eleve működni fog. De a legtöbb esetben érdemesebb egy JavaScript függvényben lekezelni az űrlap beküldését, aminek hozzáférése van a felhasználó által bevitt adatokhoz. A szokásos módszer ennek eléréséhez az úgynevezett "kontrollált komponens" módszer.
24
+
Amikor a felhasználó beküldi ezt az űrlapot, a HTML alapviselkedése miatt ez egy új oldalra fog navigálni. Ha ezt a viselkedést szeretnéd elérni Reactben, eleve működni fog. De a legtöbb esetben érdemesebb egy JavaScript függvényben lekezelni az űrlap beküldését, aminek hozzáférése van a felhasználó által bevitt adatokhoz. Ennek elérése általában az úgynevezett "kontrollált komponensek" módszerével lehetséges.
A HTML űrlap elemek, mint az `<input>`, `<textarea>` és `<select>`, általában fenntartják a saját belső állapotukat, amit felhasználói bevitel alapján változtatnak. A Reactben a módosítható állapotot általában a komponens állapotában tároljuk, és csak a [`setState()`](/docs/react-component.html#setstate) meghívásával változik.
29
29
30
-
Ezt a kettőt összekombinálhatjuk a React komponens állapotban, mint az "egyedüli igazságforrás"-ban. Így a React komponens, ami az űrlapot rendereli, azt is kontrollálja, hogy mi történik az űrlapban a felhasználói bevitel hatására. Egy beviteli elem, aminek az értékét ily módon a React kontrollál, "kontrollált komponens"-nek hívjuk.
30
+
Ezt a kettőt összekombinálhatjuk ha a React állapotot vesszük az "egyedüli igazságforrás"-ként. Így a React komponens, ami az űrlapot rendereli, azt is kontrollálja, hogy mi történik az űrlapban a felhasználói bevitel hatására. Egy beviteli elem, aminek az értékét ily módon a React kontrollál, "kontrollált komponens"-nek hívjuk.
31
31
32
-
Például ha ki szeretnénk írni a konzolra a nevet, amikor az űrlapot beküldik, létrehozhatunk egy kontrollált komponenst:
32
+
Például ha azt szeretnénk hogy az előző példa kiírja a konzolra a nevetaz űrlap beküldésekor, létrehozhatjuk az űrlapot egy kontrollált komponensként:
33
33
34
34
```javascript{4,10-12,24}
35
35
class NameForm extends React.Component {
@@ -68,15 +68,15 @@ class NameForm extends React.Component {
68
68
69
69
Mivel a `value` attribútum be van állítva az elemen, a megjelenített érték mindig `this.state.value` lesz, ez teszi a React állapotot az egyéni igazságforrássá. Mivel a `handleChange` minden egyes billentyűleütéskor frissíti a React állapotot, a megjelenített érték is frissülni fog a felhasználó bevitele eredményeképpen.
70
70
71
-
Egy kontrollált komponensben minden állapotmódosításhoz hozzá kell rendelni egy eseménykezelő függvényt. Ez egyszerűvé teszi a felhasználó által bevitt adat módosítását vagy validálását. Például ha szeretnénk biztosítani, hogy a nevek csupa nagybetűvel legyenek írva, így módosíthatjuk a `handleChange`-t:
71
+
Egy kontrollált komponensben minden állapotmódosításhoz hozzá kell rendelni egy eseménykezelő függvényt. Ez egyszerűvé teszi a felhasználó által bevitt adat módosítását vagy érvényesítését. Például ha szeretnénk biztosítani, hogy a nevek csupa nagybetűvel legyenek írva, így módosíthatjuk a `handleChange`-t:
A HTML-ben a `<textarea>` tartalma a gyermeke által van definiálva:
82
82
@@ -125,7 +125,7 @@ class EssayForm extends React.Component {
125
125
126
126
Figyeld meg, hogy a `this.state.value` a konstruktorban kerül inicializálásra, így a szövegterület már az elején tartalmazni fog némi szöveget.
127
127
128
-
## A select tag {#the-select-tag}
128
+
## A select címke {#the-select-tag}
129
129
130
130
A HTML-ben a `<select>` egy legördülő menüt hoz elő. Ez a HTML például egy ízesítésekből álló legördülő menüt tartalmaz:
131
131
@@ -138,7 +138,7 @@ A HTML-ben a `<select>` egy legördülő menüt hoz elő. Ez a HTML például eg
138
138
</select>
139
139
```
140
140
141
-
Figyeld meg, hogy a Kókusz opció van kiválasztva alapból, mivel ez tartalmazza a `selected` attribútumot. A React a `selected` attribútum helyett a `value` attribútumot használja a gyökér `select`tagen. Ez így egyszerűbb egy kontrollált komponensben, mivel így csak egy helyen kell módosítani az értéket. Például:
141
+
Figyeld meg, hogy a Kókusz opció van kiválasztva alapból, mivel ez tartalmazza a `selected` attribútumot. A React a `selected` attribútum helyett a `value` attribútumot használja a gyökér `select`címkén. Ez így egyszerűbb egy kontrollált komponensben, mivel így csak egy helyen kell módosítani az értéket. Például:
142
142
143
143
```javascript{4,10-12,24}
144
144
class FlavorForm extends React.Component {
@@ -180,25 +180,25 @@ class FlavorForm extends React.Component {
180
180
181
181
[**Próbáld ki CodePenen**](https://codepen.io/gaearon/pen/JbbEzX?editors=0010)
182
182
183
-
Alapvetően ezáltal mind az `<input type="text">`, `<textarea>` és `<select>` is hasonlóan működik - mindegyiknek van egy `value` attribútuma, amit használhatsz egy kontrollált komponens létrehozásához.
183
+
Alapvetően ezáltal mind az `<input type="text">`, `<textarea>` és `<select>` is hasonlóan működik - mindegyiknek van egy `value` attribútuma, amit használhatsz egy kontrollált komponens létrehozásához.
184
184
185
185
> Megjegyzés
186
186
>
187
-
> Egy tömböt is hozzárendelhetsz a `value` attribútumhoz, aminek a segítségével több opciót is kiválaszthatsz egyszerre a `select`tagben:
187
+
> Ha egy tömböt rendelsz a `value` attribútumhoz akár több opciót is kiválaszthatsz egyszerre a `select`címkében:
188
188
>
189
189
>```js
190
190
><select multiple={true} value={['B', 'C']}>
191
191
>```
192
192
193
-
## A fájlbeviteli tag {#the-file-input-tag}
193
+
## A fájlbeviteli címke {#the-file-input-tag}
194
194
195
-
A HTML-ben az `<input type="file">` segítségével a felhasználó kiválaszthat egy vagy több fájlt a saját gépéről a szerverre feltöltéshez vagy a JavaScript [Fájl API-val](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications) való manipuláláshoz.
195
+
A HTML-ben az `<input type="file">` segítségével a felhasználó kiválaszthat egy vagy több fájlt a saját gépéről a szerverre feltöltéshez vagy a JavaScript [Fájl API-val](https://developer.mozilla.org/hu/docs/Web/API/File/Fajlok_hasznalata_webes_alkalmazasokban) való manipuláláshoz.
196
196
197
197
```html
198
198
<input type="file"/>
199
199
```
200
200
201
-
Mivel ennek egy csak olvasható értéke van, ez egy **kontrollálatlan** komponens. Erről a többi kontrollálatlan komponenssel együtt olvashatsz [később a dokumentációban](/docs/uncontrolled-components.html#the-file-input-tag).
201
+
Mivel ez csak olvasható értékkel rendelkezik, ez egy **kontrollálatlan** komponens. Erről a többi kontrollálatlan komponenssel együtt olvashatsz [később a dokumentációban](/docs/uncontrolled-components.html#the-file-input-tag).
202
202
203
203
## Több bemenet kezelése {#handling-multiple-inputs}
204
204
@@ -295,5 +295,4 @@ Néha nehézkes lehet kontrollált komponenseket használni, mivel minden lehets
295
295
296
296
297
297
## Teljes értékű megoldás {#fully-fledged-solutions}
298
-
299
298
Ha egy meglévő teljes értékű megoldást keresel, amiben már benne van a validáció, a meglátogatott mezők nyomon követése és az űrlap beküldésének kezelése, a [Formik](https://jaredpalmer.com/formik) az egyik legnépszerűbb választás. Ugyanakkor ez is hasonló alapelvekre épül, mint a kontrollált komponensek vagy az állapotmenedzsment - így ne felejtsd el ezeket sem megtanulni.
0 commit comments