#javascript #reactjs
#javascript #reactjs
Вопрос:
Я пишу таблицу react js со столбцами с функцией сортировки. Столбцы, содержащие только текст, работают нормально, но я получаю следующую ошибку:
Ошибка типа: не удается прочитать свойство ‘localeCompare’ неопределенного
Я предполагаю или предполагаю, что localeCompare работает только с текстовым столбцом, он бомбит столбцы с целыми числами. правильно?
Моя функция сортировки
SortTable(event, sortKey) {
if (!this.state.ascending) {
this.state.application.sort((a,b) => a[sortKey].localeCompare(b[sortKey]))
this.state.ascending = true
} else {
this.state.application.sort((a,b) => b[sortKey].localeCompare(a[sortKey]))
this.state.ascending = false
}
}
Мой код таблицы следующий
<Table striped bordered>
<thead style={{'background-color': 'rgb(248,248,255)'}}>
<tr>
<th onClick={e=> this.sortTable(e,'myId')}>
<Button s
<div>Phase<i className={this.state.iconName}/></div></Button></th>
</tr>
</thead>
<tbody>
<tr>
<td style={{textAlign:'center'}}>{this.getStringBaseOnId(myId)}</td>
</tr>
</tbody>
</Table>
Функция выглядит следующим образом
getStringBaseOnId(id) {
return 'Test'
}
Любая помощь приветствуется. Спасибо
Комментарии:
1. Похоже, у вас опечатка в аргументе вашей функции (
sortyKey
) . Так ли это?2. вам нужно проверить, равно ли значение null, и назначить пробел с помощью канала, также ваша функция имеет параметр sortyKey, но вы проверяете по sortKey