У меня есть компонент React с полем выбора, который позволяет пользователю выбрать одну из четырех меток «серьезности», и в силу API переменная должна быть в нижнем регистре. Это поле выбора ...
<select id = "logs-select" onChange = {this.handleSeverityChange} value = {this.state.dropSeverity}>
<option value = "">Select: </option>
<option value = "info">Info</option>
<option value = "warning">Warning</option>
<option value = "error">Error</option>
<option value = "fatal">Fatal</option>
</select>
На странице есть еще три поля выбора, и благодаря замечательным людям на этом сайте у меня есть следующая функция, которая чудесным образом выводит переменные в URL-адрес ...
const names = [
"severity",
"domain",
"device",
"start",
"end"
]
const selectProps = {
selectedseverity: this.state.dropSeverity,
selecteddomain: this.state.dropDomain,
selecteddevice: this.state.dropDevice,
selectedstart: this.state.startDate,
selectedend: this.state.endDate
}
let url = `/inventory_reporter_api/logs?stage=PRODUCTION&` + names
.filter(name => selectProps["selected" + name] !== '')
.map(name => name.toLowerCase() + " = " + encodeURIComponent(selectProps["selected" + name]))
.join("&");
Однако я также выводю заголовок, для которого переменная «серьезность» должна быть начальным пределом. Вот моя текущая функция:
let headline = `Logs for ` + names
.filter(name => selectProps["selected" + name] !== '')
.map(name => decodeURI(selectProps["selected" + name]) + " " + name.charAt(0).toUpperCase() + name.substr(1))
.join(" - ");
console.info('this is the headline ', headline)
Сценарий «name.charAt (0) .toUpperCase () + name.substr (1)» прекрасно работает, чтобы сделать «Серьезность» равной начальному пределу в заголовке, но я не могу понять, как преобразовать выбранную переменную серьезности в начальную крышка. Я предполагаю, что мне нужно будет добавить некоторый javascript в строку «.map» в моей функции создания заголовка, но я не совсем уверен, как это сделать. Надеюсь, мое объяснение и код адекватны. Я получил предупреждение по поводу нескольких моих предыдущих вопросов и считаю этот сайт и всю полученную мной помощь очень ценными.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


.map(name => {
const newName = name.charAt(0).toUpperCase() + name.slice(1);
return decodeURI(selectProps["selected" + name]) + " " + newName;
}),
у вас это почти было, если я правильно вас понял, что-то вроде этого должно работать.
К сожалению, заголовок по-прежнему отображается в нижнем регистре.
На самом деле я ошибаюсь, теперь он возвращает "undefined" для переменной серьезности.
это потому, что я сделал ошибку в заявлении о возврате, я отредактировал его, пожалуйста, проверьте еще раз.
Теперь я получаю возвращенную переменную, но в нижнем регистре.
ваш собственный код должен был работать нормально с самого начала, я определенно неправильно понял ваш вопрос, я быстро протестировал его локально, приняв состояния как «тест», и это то, что я получил. prntscr.com/m72d2i, с другой стороны, было бы намного лучше использовать css, чтобы заглавные буквы выводились, все, что вам нужно сделать, это добавить text-transform: capitalize удачи.
о человек, это выглядит игра ВКЛЮЧЕНА. Я попробую как можно скорее. Большое спасибо за ваше время и помощь.