Как я могу написать вызов выборки JSON-Server с несколькими параметрами? - PullRequest
0 голосов
/ 08 апреля 2019

Ищите способ написать простую выборку JSON-Server с несколькими параметрами.В настоящее время я могу получить правильные результаты только с одним параметром;то есть - "http://localhost:5002/tasks/companyId=1"

Мне нужно что-то вроде -" http://localhost:5002/tasks/companyId=1&&?_expand=user", чтобы вернуть задачи компании с расширенной информацией о пользователе.

Пожалуйста, и спасибо за любыепомощь.

- обновление -

Мне удалось получить нужные мне результаты:

http://localhost:5002/tasks/?companyId=1&_expand=user

Теперь я использую эту информацию для отображения выбранногопользователь в окне выбора.Однако при заполнении поля параметра выбранный пользователь также отображается в списке всех пользователей.Есть ли способ предотвратить эту избыточность?Код для заполнения поля следующий:

<label htmlFor="assignTo" >Assign To</label>
                <select className="form-control"
                    onChange={this.assignTo}
                    id="assignTo" >
                    <option value={this.props.task.userId}>{this.props.task.user.name} {this.props.task.user.surname}</option>
                    {this.props.employees.map(employee => (
                        <option key={employee.id} id={employee.id} value={employee.id}>
                            {employee.name} {employee.surname}
                        </option>

Еще раз, я благодарю вас за любую помощь, которую вы можете предложить.

1 Ответ

0 голосов
/ 08 апреля 2019

Итак, я писал постороннюю опцию до запуска .map. Не знал, что я мог бы записать на карте оператор if или ternary. Мое решение стало следующим:

<select className="form-control"
                    onChange={this.assignTo}
                    id="assignTo" >
                    {/* <option value={this.props.task.userId}>{this.props.task.user.name} {this.props.task.user.surname}</option> */}
                    {this.props.employees.map(employee => {
                        if (employee.id === this.props.task.userId) {
                           return <option key={employee.id} id={employee.id} value={employee.id} selected>
                            {employee.name} {employee.surname}
                        </option>
                        } else {
                           return <option key={employee.id} id={employee.id} value={employee.id} >
                            {employee.name} {employee.surname}
                            </option>
                        }
                    })}
                </select>

Надеюсь, это поможет кому-то еще, кому это может понадобиться. Спасибо!

...