国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot+Mybatis plus+React實現條件選擇切換搜索實踐

SpringBoot+Mybatis plus+React實現條件選擇切換搜索實踐

2022-01-24 01:16朱季謙 Java教程

本文主要介紹了SpringBoot+Mybatis plus+React實現條件選擇切換搜索實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在寫React前端邏輯時,經常遇到可以切換不同條件的列表查詢功能,例如下邊截圖這樣的,其實,這塊代碼基本都一個邏輯,可以一次性將實現過程記錄下來,待以后再遇到時,直接根據筆記復用即可。

SpringBoot+Mybatis plus+React實現條件選擇切換搜索實踐

一、首先,是前端React頁面代碼,這類搜索框,一般都是放在Form表單當中,然后使用有前綴下拉框選項的Input組件,這類模式的組件是在Input組件當中實現一個addonBefore屬性即可,如下代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
render () {
  let { getFieldDecorator } = this.props.form;
  return (
    <Form onSubmit={this.submit} layout={'inline'}>
      <FormItem>
        {getFieldDecorator('searchUser', {
          initialValue: ""
        })(
          <Input allowClear placeholder="請輸入搜索條件"
            addonBefore={
              getFieldDecorator('condition', {
                initialValue: 'name'
              })(
                <Select style={{ width: 100 }}>
                  <Option value="name">學生姓名</Option>
                  <Option value="class">班級</Option>
                  <Option value="studentNo">學號</Option>
                </Select>
              )
            }
          />
        )}
      </FormItem>
    </Form>
  );
}

二、寫好表單頁面后,就可以對該表單邏輯進行開發。因為該搜索框對應多種方式,但輸入框只有一個,也就是多對一的情況,故而需要做一些轉換,需要將輸入框的值,相應轉換為對應下拉框選項的值,因此,可以用switch判斷來做轉換,當然,你也可以用if-else,我試過if-else的效果,看起來就是一坨......

稍微解釋一下這段代碼,假如下拉框是以“學生姓名”為維度來搜索,那么表單的getFieldDecorator('condition')屬性值即“name”,也就是values.condition==“name”,就會跳轉至values.name = values.searchValue,就意味著是搜索條件name的值,為對應輸入框的值values.searchValue。在表單當中,輸入框的屬性label是getFieldDecorator('searchUser')。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
submit = (e) => {
  e.preventDefault()
  let { form,  getStudentList } = this.props
  let values = {}
  form.validateFieldsAndScroll({ first: true },
    ((errors, value) => {
      if (errors) {
        message.error(getFormFirstErrorMsg(errors));
      } else {
        values = trimObjectValues(value);
        switch (values.condition) {
          case "name":
            values.name = values.searchValue;
            break;
          case "className":
            values.className = values.searchValue
            break;
          case "studentNo":
            values.studentNo = values.searchValue
            break;
          default:
            break;
        }
        getStudentList(params);
      }
    }))
}

3、最后,就是后端邏輯實現

?
1
2
3
4
5
6
@Data
public class Student {
    private String name;
    private String className;
    private String sex;
}
?
1
public interface StudentMapper extends BaseMapper<Student> {}

這里使用了Mybatis plus的ORM框架,可以直接使用lambda表達式的搜索條件進行,因為搜索條件搜索,故而,需要用like的模糊搜索,搜索條件是name+"%",沒有兩邊都用"%",是因為若第一個模糊條件有索引的話,那么"%"+name+"%"將會造成索引失效。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public List<Student> getStudents(Student reqVO) {
     String name = reqVO.getName();
     String className = reqVO.getClassName();
     String sex = reqVO.getSex();
     List<Student>  students = studentMapper.selectList(
         new QueryWrapper<Student>().lambda()
         
         .like(StringUtils.isNotEmpty(name),Student::getName,name+"%")
                         
         .like(StringUtils.isNotEmpty(className),Student::getClassName,className+"%")
                        
         .like(StringUtils.isNotEmpty(sex),Student::getSex,sex+"%")
                       
        );
        return students;
    }

到此這篇關于SpringBoot+Mybatis plus+React實現條件選擇切換搜索實踐的文章就介紹到這了,更多相關SpringBoot+Mybatis plus+React條件選擇切換內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/zhujiqian/p/15344970.html

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲综合视频在线观看 | 亚洲精品不卡 | 久久精选| 久久99蜜桃综合影院免费观看 | 最新日韩视频 | 国产日韩精品一区 | 黄色一级片在线观看 | 久久精品国产免费 | 日韩午夜免费 | 免费污视频在线 | 精品国产凹凸成av人导航 | 中国大陆高清aⅴ毛片 | 欧美精产国品一二三区 | 男人久久久 | 日韩欧美不卡 | 久久国产精品一区二区三区 | 久久国产精品免费一区二区三区 | 日韩精品在线视频观看 | 欧美日韩久久精品 | 免费一级在线视频 | 午夜私人影院在线观看 | 日韩在线欧美 | 小情侣高清国产在线播放 | 亚洲视频在线免费观看 | 欧美一级久久 | 欧美成人a | 91亚洲视频| 夜夜超碰| 成人一区二区在线 | 国产福利视频在线观看 | 亚洲天堂久久精品 | 日韩成人一区二区 | 欧美在线观看免费观看视频 | 日本精品在线观看视频 | www.夜夜爽 | 日韩在线观看第一页 | 日韩成人精品 | 另类久久 | 成人精品一区二区三区 | 精品国偷自产国产一区 | 欧美午夜影院 |