Глядя на источник , кажется, что он работает как задумано, или есть ошибка. Если вы не нашли никакого другого упоминания об этом, вероятно, это первое.
Здесь создаются компоненты SelectInputComponents:
rowSelector(row) {
if (!row || !row.hasOwnProperty(this.props.keyField)) return null
const { toggleSelection, selectType, keyField } = this.props
const checked = this.props.isSelected(row[this.props.keyField])
const inputProps = {
checked,
onClick: toggleSelection,
selectType,
row,
id: `select-${row[keyField]}`
}
return React.createElement(this.props.SelectInputComponent, inputProps)
}
Два интересующих обработчика: onClick (который сопоставляется с toggleSelection) и флажок, который сопоставляется с isSelected. Обратите внимание на идентификатор здесь.
SelectInputComponent выглядит следующим образом:
const defaultSelectInputComponent = props => {
return (
<input
type={props.selectType || 'checkbox'}
aria-label={`${props.checked ? 'Un-select':'Select'} row with id:${props.id}` }
checked={props.checked}
id={props.id}
onClick={e => {
const { shiftKey } = e
e.stopPropagation()
props.onClick(props.id, shiftKey, props.row)
}}
onChange={() => {}}
/>
)
В обработчике onClick (т.е. toggleSelection) вы можете видеть, что props.id передается в качестве первого аргумента. Так вот где добавляется дополнительный select-
.
Я не знаком с этим пакетом, поэтому не могу сказать вам, является ли это ошибкой или функцией, но есть разница в том, как передаются эти аргументы обратного вызова. Из-за зрелости пакета, он настоятельно рекомендует мне, что это предполагаемое поведение.