Опора selectable
контролирует только имена классов семантического пользовательского интерфейса, которые отображаются в ячейке, которая придает ей стиль.
В документации, на которую вы ссылаетесь, показано, что опора selectable
создает ячейку таблицы, содержащую тег <a>
, занимающий все пространство ячейки, а не только текст, который она переносит. Вы можете увидеть, как это изменение произошло, удалив выбираемую опору из одного из этих <Table.Cell>
компонентов в примере, и вы увидите, что текст даже меняется на цвет ссылки, и только текст кликабелен.
Я бы порекомендовал вам следовать разметке, которую вы видите в примере, и поместить свой обработчик щелчков на тег <a>
внутри <Table.Cell selectable>
, если вы хотите использовать эту опору (или не использовать опору, если Вы хотите, чтобы на текст можно было кликать).
Другая проблема, с которой вы сталкиваетесь, заключается в том, что у вас нет какой-либо привязки к вашему методу класса обработчика кликов, поэтому при рендеринге компонента каждая строка, в которой вы используете обработчик, вызывает этот метод класса. Вам нужно добавить привязку к методу класса. Я бы рекомендовал не связывать с функцией стрелки внутри вашего компонента. Вместо этого вы должны привязать конструктор или непосредственно к самому методу класса следующим образом: handleCellClick = (j,k) => {}
. Обратите внимание, что метод класса имеет функцию стрелки, связывающую его, а не просто handleCellClick(j,k) {}
.