当前位置: 首页 > news >正文

手机制作钓鱼网站百度seo和sem

手机制作钓鱼网站,百度seo和sem,做版权保护的网站,室内设计师收入高吗笔记/朱季谦 在写React前端逻辑时,经常遇到可以切换不同条件的列表查询功能,例如下边截图这样的,其实,这块代码基本都一个逻辑,可以一次性将实现过程记录下来,待以后再遇到时,直接根据笔记复用…

笔记/朱季谦

在写React前端逻辑时,经常遇到可以切换不同条件的列表查询功能,例如下边截图这样的,其实,这块代码基本都一个逻辑,可以一次性将实现过程记录下来,待以后再遇到时,直接根据笔记复用即可。

image

一、首先,是前端React页面代码,这类搜索框,一般都是放在Form表单当中,然后使用有前缀下拉框选项的Input组件,这类模式的组件是在Input组件当中实现一个addonBefore属性即可,如下代码:

  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')。

  submit = (e) => {e.preventDefault()let { form,  getStudentList } = this.propslet 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.searchValuebreak;case "studentNo":values.studentNo = values.searchValuebreak;default:break;}getStudentList(params);}}))}

3、最后,就是后端逻辑实现

@Data
public class Student {private String name;private String className;private String sex;
}
public interface StudentMapper extends BaseMapper<Student> {}

这里使用了Mybatis plus的ORM框架,可以直接使用lambda表达式的搜索条件进行,因为搜索条件搜索,故而,需要用like的模糊搜索,搜索条件是name+"%",没有两边都用"%",是因为若第一个模糊条件有索引的话,那么"%"+name+"%"将会造成索引失效。

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;}
http://www.yidumall.com/news/80847.html

相关文章:

  • 韩国网页设计网站冬镜seo
  • 河北建设工程信息网换成什么网址了seo关键词推广案例
  • vue网站开发教程百度提交入口网站网址
  • 广州 网站建设 行价最近发生的热点新闻事件
  • wordpress 验证码不显示优化大师的三大功能
  • 行业平台网站开发seo接单平台有哪些
  • 免费网站建设ydwzjs福建企业seo推广
  • 专业做网站公司济南国内网络营销公司排名
  • 谷歌企业邮箱怎么注册优化大师是干什么的
  • 58同城通辽做网站黄冈网站推广软件免费下载
  • 做印章网站站长之家seo信息
  • 装修哪个平台最好深圳seo优化服务
  • 新网站制作平台今日新闻摘抄10条简短
  • 今科网站建设公司关键词排名优化
  • 可靠的响应式网站建设安卓系统优化app
  • 武汉公司注册网站2023第三波疫情已经到来了
  • 网站字体颜色大小爱站网关键词长尾挖掘工具
  • 做游戏 网站竞价广告推广
  • 网站建设信(信科网络)怎么写软文
  • iis 架设 wordpressseo排名点击软件运营
  • 哪家网站建设服务好网络营销专业可以干什么工作
  • 寻找哈尔滨网站建设seo大全
  • 做网站的英文编辑制作网页多少钱
  • 怎么做购物网站到企业网络组建方案
  • 沈阳定制网络机箱机柜重庆seo网站收录优化
  • 孝感网站的建设seo关键词排名优化销售
  • 做短租有哪些网站重庆网站建设与制作
  • 网站制作top代运营一个月多少钱
  • 有没有学做零食的网站国内电商平台有哪些
  • 北京互联网公司待遇排名路由优化大师