Базовая конфигурация
По умолчанию опции записи не отображаются. Чтобы включить отображение опций записи, в конфигурации списка установите значение для опции itemActions. В качестве значения опция принимает массив объектов, где каждый объект задаёт конфигурацию для одной опции записи. Формат полей объектов описан здесь.
В следующем примере задана конфигурация для опций записи.
Чтобы опции записи отобразились, необходимо настроить следующие опции:
<!-- WML -->
<Controls.list:View
source="{{_source}}"
itemActions="{{_itemActions}}" />
В хуке _beforeMount() создайте новое свойство, в которое передайте конфигурацию для опций записи.
// TypeScript
import {showType} from 'Controls/toolbars'
protected _itemActions: IItemAction[];
protected _beforeMount(): void {
this._itemActions = [
{
id: 'message',
icon: 'icon-EmptyMessage',
showType: showType.TOOLBAR,
iconStyle: 'secondary',
tooltip: 'Написать'
}
]
}
Примечание
Опции записи будут отображаться при наведении курсора мыши на запись, даже если опция readOnly имеет значение true
.
При клике по любой опции происходит событие actionClick. В обработчике этого события вы можете задать обработчик клика по опции записи:
- В модуле объявите функцию. Используя второй аргумент, определите какая опция записи нажата.
// TypeScript
import {SyntheticEvent} from 'UICommon/Event';
import {Model} from 'Types/entity';
import {IItemAction} from 'Controls/itemActions';
_onActionClick: function(eventObject: SyntheticEvent<null>, action: IItemAction,
item: Model, container: HTMLElement)
if (action.id === 'myButton') {
// Прикладной код для опции myButton
}
}
- Чтобы задать единый обработчик клика для опций записи, в конфигурации списка установите обработчик на событие actionClick.
<!-- WML -->
<Controls.list:View
source="{{_source}}"
itemActions="{{_itemActions}}"
on:actionClick="_onActionClick()" />