亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

react如何實(shí)現(xiàn)表格多條件搜索

 更新時(shí)間:2024年03月14日 14:16:28   作者:代碼真的養(yǎng)發(fā)  
這篇文章主要介紹了react如何實(shí)現(xiàn)表格多條件搜索問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

react實(shí)現(xiàn)表格多條件搜索

  • 創(chuàng)建一個(gè)React組件來渲染表格及搜索功能。可以使用函數(shù)式組件或者類組件。
  • 在組件的狀態(tài)中定義搜索條件的值??梢允褂胾seState鉤子函數(shù)來定義和更新搜索條件的狀態(tài)。
  • 在組件中創(chuàng)建一個(gè)表單,包含多個(gè)輸入框或下拉列表等用于輸入搜索條件的表單元素。
  • 為每個(gè)表單元素綁定onChange事件處理程序,以便在輸入框內(nèi)容發(fā)生改變時(shí)更新相應(yīng)的搜索條件值。
  • 定義一個(gè)函數(shù),用于處理表單的提交事件。在該函數(shù)中獲取搜索條件的值,并將其傳遞給數(shù)據(jù)源,進(jìn)行過濾。
  • 在組件的render方法中,根據(jù)搜索條件對(duì)數(shù)據(jù)源進(jìn)行過濾,并渲染符合條件的數(shù)據(jù)到表格中。
import React, { useState } from 'react';
 
const TableWithSearch = () => {
  const [searchValue1, setSearchValue1] = useState('');
  const [searchValue2, setSearchValue2] = useState('');
 
  const handleSearch = (e) => {
    e.preventDefault();
    // 根據(jù)搜索條件對(duì)數(shù)據(jù)源進(jìn)行過濾處理
    // 這里只是一個(gè)示例,實(shí)際操作可能需要結(jié)合你的數(shù)據(jù)源和業(yè)務(wù)需求進(jìn)行具體實(shí)現(xiàn)
    // filteredData是一個(gè)經(jīng)過搜索條件過濾后的數(shù)據(jù)數(shù)組
    const filteredData = dataSource.filter(item => {
      return item.field1.includes(searchValue1) && item.field2.includes(searchValue2);
    });
 
    // 渲染表格
    renderTable(filteredData);
  }
 
  const renderTable = (data) => {
    // 渲染表格邏輯,根據(jù)傳入的數(shù)據(jù)渲染表格
  }
 
  return (
    <div>
      <form onSubmit={handleSearch}>
        <input type="text" value={searchValue1} onChange={(e) => setSearchValue1(e.target.value)} />
        <input type="text" value={searchValue2} onChange={(e) => setSearchValue2(e.target.value)} />
        <button type="submit">搜索</button>
      </form>
      {renderTable(dataSource)}
    </div>
  );
}
 
export default TableWithSearch;

react查詢、搜索類功能的實(shí)現(xiàn)

查詢之類的如果是通過向列表接口中發(fā)送對(duì)應(yīng)參數(shù)來查詢的,那么在默認(rèn)輸出時(shí),在useEffect鉤子中的請(qǐng)求中可以先為需要查詢的請(qǐng)求參數(shù)設(shè)初始的state,也就是null或者未定義,這樣的話初始請(qǐng)求的還是整個(gè)列表,然后將這些state放入useEffect的依賴中,也就是第二個(gè)參數(shù)的數(shù)組中,然后在一些查詢相關(guān)的組件中,如下拉選項(xiàng)、Search搜索框、時(shí)間選擇器等,具體根據(jù)可查詢項(xiàng)決定,然后更新初始設(shè)置的state,set為在這些組件的事件函數(shù)中將組件篩選的最終值。

因?yàn)閡seEffect監(jiān)聽到了這些狀態(tài)發(fā)生的變化,所以重復(fù)執(zhí)行了,重新調(diào)用了接口并傳遞了篩選參數(shù),列表狀態(tài)也發(fā)生了改變,就完成了查詢的功能。

以下為下拉選項(xiàng)實(shí)例:

請(qǐng)求函數(shù)部分:

 const [tableList, setTableList] = useState([]);
 const [status, setStatus] = useState();
 const [title, setTitle] = useState();
useEffect(() => {
   axios.get('http://crmeb.kuxia.top/adminapi/cms/category',{
   	 status: status,
   	 title: title
   	}).then((res) => {
      setTableList(res.data.list);
    });
  }, [status, title]);//將sataus設(shè)為依賴
<Select
   options={[
       { label: '全部', value: null },
       { label: '顯示', value: 1 },
       { label: '不顯示', value: 0 },
    ]}
     onChange={(value) => {
         setStatus(value);//更改了status的狀態(tài)觸發(fā)了useEffect重新執(zhí)行并發(fā)送了狀態(tài)參數(shù)完成篩選查詢
      }}/>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決React Native端口號(hào)修改的方法

    解決React Native端口號(hào)修改的方法

    這篇文章主要介紹了解決React Native端口號(hào)修改的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • React中setState同步異步場(chǎng)景的使用

    React中setState同步異步場(chǎng)景的使用

    本文主要介紹了React中setState同步異步場(chǎng)景的使用,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • react 路由Link配置詳解

    react 路由Link配置詳解

    本文主要介紹了react 路由Link配置詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Reactjs?錯(cuò)誤邊界優(yōu)雅處理方法demo

    Reactjs?錯(cuò)誤邊界優(yōu)雅處理方法demo

    這篇文章主要為大家介紹了Reactjs?錯(cuò)誤邊界優(yōu)雅處理方法demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • React?Hook中的useEffecfa函數(shù)的使用小結(jié)

    React?Hook中的useEffecfa函數(shù)的使用小結(jié)

    React 會(huì)在組件更新和卸載的時(shí)候執(zhí)行清除操作, 將上一次的監(jiān)聽取消掉, 只留下當(dāng)前的監(jiān)聽,這篇文章主要介紹了React?Hook?useEffecfa函數(shù)的使用細(xì)節(jié)詳解,需要的朋友可以參考下
    2022-11-11
  • 解決React初始化加載組件會(huì)渲染兩次的問題

    解決React初始化加載組件會(huì)渲染兩次的問題

    這篇文章主要介紹了解決React初始化加載組件會(huì)渲染兩次的問題,文中有出現(xiàn)這種現(xiàn)象的原因及解決方法,感興趣的同學(xué)跟著小編一起來看看吧
    2023-08-08
  • React反向代理及樣式獨(dú)立詳解

    React反向代理及樣式獨(dú)立詳解

    這篇文章主要介紹了React反向代理及樣式獨(dú)立詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • React與Redux之?dāng)?shù)組處理講解

    React與Redux之?dāng)?shù)組處理講解

    這篇文章主要介紹了React與Redux之?dāng)?shù)組處理講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • React深入了解原理

    React深入了解原理

    React是用于構(gòu)建用戶界面的JavaScript庫,?[1]??起源于Facebook的內(nèi)部項(xiàng)目,該公司對(duì)市場(chǎng)上所有?JavaScript?MVC框架都不滿意,決定自行開發(fā)一套,用于架設(shè)Instagram的網(wǎng)站
    2022-07-07
  • React合成事件原理解析

    React合成事件原理解析

    事件是在編程時(shí)系統(tǒng)內(nèi)發(fā)生的動(dòng)作或者發(fā)生的事情,而開發(fā)者可以某種方式對(duì)事件做出回應(yīng),而這里有幾個(gè)先決條件,這篇文章主要介紹了React合成事件原理解析,需要的朋友可以參考下
    2022-07-07

最新評(píng)論