Open Bodyu-KS-82 opened 1 month ago
@Bodyu-KS-82, можете взять новую таблицу, https://consta.design/libs/table/components-table-stable и через renderCell прокинуть любой компонент для отрисовки данных, к примеру: ваш компонент с контекстным меню.
Добрый день! использовал новую таблицу: import { DataCell } from '@consta/table/DataCell'; import { Table, TableColumn, TableRenderCell } from '@consta/table/Table'; сделал необходимые функциональные поля ввода, все замечательно и в корпоративной стилистике! Но вот с контекстным меню, по клику правой кнопкой мыши по строке (ячейкам строки), так ничего не получилось и в новой таблице. Не выводится меню, не срабатывает по клику ПКМ на полях таблицы обернутые стилем Consta, не выполняется event.preventDefault(), выводится только стандартное меню правой кнопки мыши для браузера. Может есть какой-нибудь пример?
Добрый день! Помогите пожалуйста разобраться, с функциями библиотеки.
Не работает вызов контекстного меню, по правой кнопки мыши! На стайте https://consta.design, есть ссылка на пример с вызовом контекстного меню и опубликован такой пример: https://consta.design/libs/uikit/components-table-stable?hash=пример-таблицы-с-обработкой-клика-по-ячейке
но на странице, сам пример не работает в части вызова контекстного меню при клике правой кнопкой мыши, так как при обработке в таблице события onCellClick={handleCellClickMenu} при выполнении handleCellClickMenu возвращается только type === 'click', по левой кнопке мыши, а по клику правой кнопки мыши, type ==='contextMenu' не возвращается.
то есть на странице https://consta.design/libs/uikit/components-table-stable/dev?hash=обработка-клика-по-ячейке описано, что: type: 'click' | 'contextMenu' — тип клика
но по факту возвращается только "click" https://consta.design/libs/uikit/components-table-stable/dev?hash=обработка-клика-по-ячейке
const handleCellClickMenu: onCellClick = ({e, type, rowId, columnIdx, ref})=>{ e.preventDefault(); if(type === 'click' ){ console.log (
++click+++ Обычный клик, по ячейке columnIdx: "${columnIdx}", в строке: "${rowId}", в type: ${type}, в ref ${ref}, в e: ${e}
); } else { setRef(ref); setIsShow(true); } };делал для таблицы:
const tableJournal = <Table size='m' borderBetweenColumns borderBetweenRows getCellWrap={(row) => 'truncate'} rows = {rowDataJournal} columns = {colDefsJournal} stickyColumns={1} stickyHeader onCellClick={handleCellClickMenu} />
для рендера <div style={{ width: '100%', height: '75%' }}> {tableJournal} {show && ref && ( <ContextMenu items={menuItems} getItemLabel = {getLabel} anchorRef={ref} direction = "downStartLeft" onClickOutside = {()=>setIsShow(false)} possibleDirections = {['downStartLeft']} />
Как воспроизвести баг (опционально)
https://consta.design/libs/uikit/components-table-stable?hash=пример-таблицы-с-обработкой-клика-по-ячейке
Ожидаемое поведение (опционально)
вызова контекстного меню не произойдет
Версия Consta Kit Последняя
Параметры софта на компьютере:
Дополнительная информация Использую библиотеку, для создания системы АСДПО (допуск подрядчиков на пром. объекты). Прикрепил скрин, но толку от него мало, на нем, только отображение клика левой кнопки мыши, при нажатии правой, передача type: 'contextMenu' не происходит.