К содержимому

SusIconRail

SusIconRail

Вертикальная или горизонтальная полоса круглых category / loadout элементов.

Пакет

SusKit · Атомы (коммерческий)

Открыть в песочнице

SusKit · Atoms

Свойства

ИмяТипПо умолчанию
ModelProp<string>""v-model
DirectionProp<string>"vertical"v-model

Слоты

Слотов нет.

События

ИмяПолеPayload
ChangedOnChangedstring

Хуки стиля

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-icon-rail__icon
  • sus-icon-rail__item
  • sus-icon-rail__item--active
  • sus-icon-rail__item--disabled
  • sus-icon-rail__item--h
  • sus-icon-rail__label
  • sus-icon-rail--horizontal
  • sus-icon-rail--vertical

Использование

csharp
var rail = new SusIconRail();
rail.SetLabels("W", "A", "Q", "M");
rail.Model.Value = "0";
rail.Direction.Value = "vertical";
rail.OnChanged += value => { /* … */ };

Либо соберите Items явно:

csharp
rail.Items.Value = new List<SusIconRail.RailItem>
{
    new() { Label = "W", Value = "weapons", Icon = "sword" },
    new() { Label = "A", Value = "armor", Icon = "shield" },
};
rail.Model.Value = "weapons";
PropRole
ItemsList<RailItem>Label, Value, Icon, Disabled
ModelВыбранное значение
Directionvertical | horizontal
OnChangedAction<string>

Заметки

  • SetLabels(...) — сокращение, которое заполняет Items буквенными label и индексными значениями.
  • Корневому layout часто нужен consumer USS: скоупинг Sharq может сломать self-target на .sus-icon-rail.

См. также Layout recipes.