微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

国家/地区按用户筛选

如何解决国家/地区按用户筛选

尊敬的程序员我有一些对象 like this 和简单的下拉HTML选择器

如何按国家/地区进行过滤,取决于用户选择?

示例:

用户选择“美国人”->显示“美国”用户

用户选择“加拿大”,“英国”->显示“加拿大”,“英国”的用户

screenshot

反应js 代码

TableTitle.js

const nationalities = ['american','australian','brazilian','british','canadian','danish','dutch','finnish','french','german','iranian','irish','new zealander','norwegian','spanish','swiss','turkish'];

{/*selector*/}
<Select
  mode="tags"
  size='large'
  placeholder="Nationalities"
  onChange={handleNationChange}>
      {nationalities.map((item) =>
             <Option key={item}>
                {item}
             </Option>
        )}
 </Select>

TableContent.js显示结果:

const TableContent = () => {
    const [data,setData] = useState([]),useEffect(() => {
       axios.get(`https://randomuser.me/api/?results=100`).then(({data}) => {
       setData(data.results));
   },[]);

return <Table dataSource={data} title={() => <TableTitle/>} />

感谢您的帮助!

解决方法

以下是用于过滤数据的示例代码。 如果您需要更多帮助。请在下面发表评论。

let url = "https://randomuser.me/api/?results=100";

const filterByCountry = (data,country) => {
  return data.filter((record) => record.location.country === country);
};

fetch(url)
  .then((res) => res.json())
  .then((data) => {

    //data from url loaded into variable 'data'

    //filter data according to country
    const out = filterByCountry(data.results,"Australia");
    console.log(out);
  })
  .catch((err) => {
    throw err;
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。