SusTextfield

Однострочный text input с label, вариантами и clear / prepend / append.
Пакет
SusKit · Атомы (коммерческий)
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Model | Prop<string> | "" | v-model |
Label | Prop<string> | "" | v-model |
Variant | Prop<string> | "filled" | v-model |
Placeholder | Prop<string> | "" | v-model |
Prefix | Prop<string> | "" | v-model |
Suffix | Prop<string> | "" | v-model |
PrependIcon | Prop<string> | "" | v-model |
PrependInnerIcon | Prop<string> | "" | v-model |
AppendIcon | Prop<string> | "" | v-model |
AppendInnerIcon | Prop<string> | "" | v-model |
Clearable | Prop<bool> | false | v-model |
PersistentClear | Prop<bool> | false | v-model |
ClearIcon | Prop<string> | "x" | v-model |
MaxLength | Prop<int> | 0 | v-model |
Counter | Prop<bool> | false | v-model |
Disabled | Prop<bool> | false | v-model |
Readonly | Prop<bool> | false | v-model |
Multiline | Prop<bool> | false | v-model |
Rows | Prop<int> | 1 | v-model |
MaxRows | Prop<int> | 0 | v-model |
AutoGrow | Prop<bool> | false | v-model |
NoResize | Prop<bool> | false | v-model |
Density | Prop<string> | "default" | v-model |
Error | Prop<string> | "" | v-model |
Hint | Prop<string> | "" | v-model |
PersistentHint | Prop<bool> | false | v-model |
HideDetails | Prop<string> | "auto" | v-model |
Focused | Prop<bool> | false | v-model |
Resizable | Prop<bool> | true | v-model |
Password | Prop<bool> | false | v-model |
Color | Prop<string> | "primary" | v-model |
BaseColor | Prop<string> | "" | v-model |
BgColor | Prop<string> | "" | v-model |
Loading | Prop<bool> | false | v-model |
Flat | Prop<bool> | false | v-model |
Rounded | Prop<string> | "" | v-model |
Tile | Prop<bool> | false | v-model |
CenterAffix | Prop<bool> | false | v-model |
Dirty | Prop<bool> | false | v-model |
SingleLine | Prop<bool> | false | v-model |
Слоты
| Имя |
|---|
prepend |
append |
События
| Имя | Поле | Payload |
|---|---|---|
Change | OnChange | string |
FocusEvent | OnFocusEvent | — |
BlurEvent | OnBlurEvent | — |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
keyboard-focussus-textfieldsus-textfield__append-iconsus-textfield__append-inner-iconsus-textfield__append-inner-icon--has-iconsus-textfield__clearsus-textfield__clear--visiblesus-textfield__controlsus-textfield__countersus-textfield__detailssus-textfield__details--hiddensus-textfield__errorsus-textfield__fieldsus-textfield__field-areasus-textfield__hintsus-textfield__iconsus-textfield__inputsus-textfield__input-rowsus-textfield__labelsus-textfield__label--activesus-textfield__label--floatingsus-textfield__loadersus-textfield__loader--activesus-textfield__messagessus-textfield__prefixsus-textfield__prepend-iconsus-textfield__prepend-inner-iconsus-textfield__prepend-inner-icon--has-iconsus-textfield__resizesus-textfield__resize--activesus-textfield__suffixsus-textfield--auto-growsus-textfield--center-affixsus-textfield--density-comfortablesus-textfield--density-compactsus-textfield--dirtysus-textfield--disabledsus-textfield--errorsus-textfield--filledsus-textfield--flatsus-textfield--focusedsus-textfield--has-labelsus-textfield--has-valuesus-textfield--loadingsus-textfield--multilinesus-textfield--no-resizesus-textfield--outlinedsus-textfield--plainsus-textfield--readonlysus-textfield--rounded-0sus-textfield--rounded-circlesus-textfield--rounded-lgsus-textfield--rounded-pillsus-textfield--rounded-smsus-textfield--rounded-xlsus-textfield--rounded-xssus-textfield--single-linesus-textfield--solosus-textfield--solo-filledsus-textfield--solo-invertedsus-textfield--textareasus-textfield--tilesus-textfield--underlinedunity-base-text-fieldunity-base-text-field__inputunity-base-text-field__placeholderunity-base-text-field__text-elementunity-labelunity-text-elementunity-text-fieldunity-text-field__labelunity-text-field__placeholder
Использование
xml
<template>
<sus:SusTextfield Label="Email"
Variant="outlined"
:Model="Email.Value"
Placeholder="you@example.com"
Clearable="true"
PrependInnerIcon="envelope"
@change="OnEmail" />
</template>
<script>
public Prop<string> Email = new("");
void OnEmail(string value) { /* … */ }
</script>csharp
var field = new SusTextfield();
field.Label.Value = "Display name";
field.Variant.Value = "filled";
field.Model.Value = "";
field.MaxLength.Value = 32;
field.Counter.Value = true;
field.OnChange += value => { /* … */ };Вариант
filled · outlined · underlined · plain · solo · solo-inverted · solo-filled
Заметки
Passwordмаскирует ввод;Multiline+Rows/AutoGrow— для длинного текста.Error/Hint/HideDetailsследуют общему паттерну form-field.