22import {FormField , Form , useFormValues } from ' ../../../src' ;
33
44const form = new Form ();
5- const values = useFormValues (form)
5+ const values = useFormValues (form);
6+
7+ function prettyFn (v ) {
8+ if (! v) return ' ' ;
9+ return ` - ${ v} - ` ;
10+ }
11+ function modifyFn (v ) {
12+ if (! v) return ' ' ;
13+ return v .replace (/ [^ qwerty] / gi , ' ' );
14+ }
615
716</script >
817
@@ -12,3 +21,129 @@ const values = useFormValues(form)
1221
1322- Ключевое слово ` text ` . Используется по умолчанию.
1423- WhatWG [ Спецификация] ( https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search) ) .
24+
25+ ## Параметры
26+
27+ ### autofocus <Badge type = " info " >Необязательный</Badge >
28+
29+ - Тип ` boolean | 'true' | 'false' ` .
30+
31+ Если данный параметр передаётся, при установке данного поля, на него будет автоматически передано управление.
32+
33+ ### placeholder <Badge type = " info " >Необязательный</Badge >
34+ - Тип ` string `
35+
36+ Строковое значение подсказки перед вводом данных.
37+
38+ ### maxlength <Badge type = " info " >Необязательный</Badge >
39+ - Тип 'string | number'
40+ Ограничивает максимальный размер вводимых данных.
41+
42+ ### prefix <Badge type = " info " >Необязательный</Badge >
43+ - Тип 'string'
44+ Если данный атрибут передан, он будет отображаться перед вводимым значением.
45+
46+ ### numeric <Badge type = " info " >Необязательный</Badge >
47+ - Тип ` boolean `
48+ Если данный атрибут указан, ввод будет приводиться к валидному числу. Обратите внимание,
49+ что тип возвращаемого значения остаётся строковым.
50+
51+ ### pretty <Badge type = " info " >Необязательный</Badge >
52+ - Тип [ StringModify] ( ./../guide/types#StringModify ) .
53+
54+ Используется для изменения отображения поля. Не изменяет значение, хранимое в форме.
55+ Данные правила принимаются только после того, как поле стало не активным.
56+
57+ ### modify <Badge type = " info " >Необязательный</Badge >
58+ - Тип [ StringModify] ( ./../guide/types#StringModify ) .
59+
60+ Функция для изменения вводимого значения. В отличие от ` pretty ` , работает перманентно.
61+ Изменяет значение хранимое в форме.
62+
63+ ____
64+
65+ Так же все параметры, общие для всех ` FormField ` . Информацию о них можно посмотреть на [ этой странице] ( ./form-field.md#params ) .
66+
67+ ## Значение
68+
69+ Данное поле работает со строковыми значениями.
70+
71+ ## Спецификация
72+
73+ - Поле доступно при использовании ` Tab ` и ` Shift + Tab ` .
74+ - Блокировка отменяет навигацию через ` Tab ` .
75+ - Блокировка поля изменяет стилистику ` text ` .
76+ - Ошибка валидации изменяет стилистику ` text ` .
77+ - Аттрибут ` maxlength ` влияет на ограничения только при вводе значения. Если значение
78+ будет установлено из формы и по длине будет превышать значение ` maxlength ` , оно не будет
79+ обрезано в поле, а выведется полностью.
80+
81+
82+ ## Примеры
83+
84+
85+ Для данного поля нет дополнительных обязательных параметров, по этому нам необходимо
86+ указать лишь ` name ` , т.к. атрибут ` type ` по умолчанию имеет значение ` text ` . Функции ` pretty `
87+ и ` modify ` находятся во вкладке ` ts ` :
88+
89+ ::: code-group
90+ ``` html
91+ <form-field name = " username" />
92+ ```
93+
94+ ``` ts
95+ import {FormField } from " jenesius-vue-form" ;
96+
97+ function prettyFn(v ) {
98+ if (! v ) return ' ' ;
99+ return ` - ${v } - ` ;
100+ }
101+ function modifyFn(v ) {
102+ if (! v ) return ' ' ;
103+ return v .replace (/ [^ qwerty] / gi , ' ' );
104+ }
105+ ```
106+ :::
107+
108+ Поле по умолчанию:
109+ <FormField name = " username " label = " Введите Username " />
110+
111+ ____
112+
113+ В заблокированном состоянии:
114+ <FormField disabled name = " username " label = " Заблокированное " />
115+
116+ ____
117+
118+ Поле не прошло валидацию:
119+ <FormField :errors = " ['The password is too simple'] " name = " username " label = " С ошибкой " />
120+
121+ ____
122+
123+ Ограничение длинны поля используя ` maxlength ` :
124+ <FormField name = " username " label = " Введите Длинне 5 " maxlength = 5 />
125+
126+ ____
127+
128+ Использование ` prefix ` :
129+ <FormField name = " username " label = " Введите значение " prefix = " username: " />
130+
131+ ____
132+
133+ Ввод строки приводимой к числу, использование атрибута ` numeric ` :
134+ <FormField name = " username " label = " Введите значение " numeric />
135+
136+ ____
137+
138+ Изменение только отображаемого значения при помощи ` pretty ` :
139+ <FormField name = " username " label = " Ввод красивого значения " :pretty = " prettyFn " />
140+
141+ ____
142+ Изменения ввода через ` modify ` :
143+ <FormField name = " username " label = " Используй только q w e r t y " :modify = " modifyFn " />
144+
145+ ----
146+ Текущее состояние формы:
147+ ``` ts-vue
148+ {{values}}
149+ ```
0 commit comments