gpt4 book ai didi

javascript - 在 React UI 中过滤数组值和渲染

转载 作者:可可西里 更新时间:2023-11-01 14:59:29 32 4
gpt4 key购买 nike

  • 我是 React 应用程序的新手
  • 我正在尝试从下拉框、复选框和文本框中获取用户输入的值
  • 然后使用对象数组 (JSON) 值进行验证,并在 UI 中呈现过滤后的数组值
  • 我使用了 array.filter() 方法和条件渲染来执行
  • 此外,我对过滤以及呈现过滤值感到震惊
  • 要在 UI 中呈现的值是球员姓名和运动成绩
  • 你们能帮我解决一下您的建议吗
  • 完整代码可在 stackblitz 链接中找到:https://stackblitz.com/edit/react-geum6v?file=index.js
  • 提供以下代码片段:

索引.js

Players Belonging to same zip code:
<input type="text" name="zip_code" defaultValue={zip1} onChange={this.handleChange_zip}></input> <br />

Number of male over certain age: <input type="number" name="age_number" defaultValue= {age1} onChange={this.handleChange_age}></input> <br />

Students not Belonging from a given state:
<select value={state1} onChange={this.handleChange_state}>
<option value="select">Select</option>
<option value="CA">CA</option>
<option value="TX">TX</option>
</select><br/>

List of Subjects received grades: <input type="checkbox" name="subjects" value={check} onChange={this.handleChange_sub}></input><br/>

<button onClick={this.sportsZipSearch.bind(this)}>Submit</button><br />
{zipValue && <Zip result={result} />}


sportsZipSearch = () => {
const { zip1, age1, count } = this.state;

const newArray = students.filter((el) => { return ((el.zip === zip1) && (el.Age <= age1) && (el.sports_state === state1) && check) });
this.setState({ result: newArray, zipValue: true })
}

zip.js

const Zip = (props) => {
return(
props.result.map(
results =>
<h1 key={results.player_first_name}>{results.player_first_name}</h1>
/* This is not a perfect key, but given the values at hand */
)
)
}

最佳答案

比较像 (el.Age <= age1) 这样的字符串时要小心。在进行比较之前,您应该将其解析为 int。更改为:

parseInt(el.Age) <= parseInt(age1))

这个比较会让你过滤返回[empty]。例如:

("15" <= "100")
-> return false

关于javascript - 在 React UI 中过滤数组值和渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55182977/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com