Не можете передать массив объекта в функцию? - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь передать выбранные значения из выпадающего меню на handleSearch(), а затем передать на filterList().

Однако он не достигает filterList().

private handleSearch(e) {
    let key = e.key;
    let val = e.target.value;
    let type = e.target.type;
    let tname = e.target.name;
///code above
 if (type == "select-one") {
      let opt = [{ name: tname, value: val }]; //e.g. [{name:"Category",value:"abc"}]
      debugger;
      let page;
      this.filterList(
        this.state.searchvalue,
        page,
        this.state.selectVal ? this.state.selectVal : opt
      );
///code below
/// I can read the data here 
 private filterList(query: string, ItemsPerPage = 10, options?) {
    let category = "";
    let users = "";
    let orderby = "Title";
    let order = "asc";
    if (options) { // undefined
      for (let i = 0; i <= options.length; i++) {
        if (options.name == "Category") {
/// codes continue
<select name="Category" onChange={props.select}>
  <option value="">All Category</option>
  {cat.map(i => (
    <option value={i}>{i}</option>
  ))}
</select>;

. Props.select определяется как select = {this.handleSearch} в родительском компоненте. Я что-то пропустил?

1 Ответ

0 голосов
/ 21 марта 2020

Я знаю, почему> <я зацикливаюсь на l oop. таким образом </p>

 if (options.name == "Category") {

должно быть

 if (options[i].name == "Category") {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...