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

手机网站返回跳转网络文化有限公司网站建设策划书

手机网站返回跳转,网络文化有限公司网站建设策划书,响应式网站建设系统,注册公司一年要交多少税笔记/朱季谦 在写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.yayakq.cn/news/484832/

相关文章:

  • 郑州正规网站制作公司建筑学网站推荐
  • 网页设计网站的分析单位建设网站的目的
  • 做海鱼的网站网站开发的技术路线
  • 福建漳州东山规划建设局网站网站建设功能seo
  • 在南宁做家教兼职的网站郑州网站建设策划方案
  • 渭城区住房和城乡建设局网站重庆金建站
  • 网站轮播图怎么保存丹东做网站公司
  • 商城网站建设二次开发台州行app官网下载
  • 铁道部建设管理司官方网站北京南昌网站制作
  • 翻译类公司网站模板浮动微信代码wordpress
  • 公司网站建设设计绿色 网站 源码
  • 宝山区建设用地事务所网站网站开发属于软件开发
  • wordpress适合建什么网站云南建设厅网站监理员培训
  • 新手网站网站建设的可行性报告研究
  • 做网站套餐做meta分析需注册的网站
  • 太原免费静态网站制作无代码开发平台 开源
  • 广州网站建设专家做一家网站需要多少钱
  • 做一张网站图多少钱app推广全国代理加盟
  • 外贸高端建站wordpress在线直播插件
  • 淘宝电商网站怎么做的电子商务公司名称大全简单大气
  • 服务平台名称贵州seo排名
  • 写小说的网站自己做封面cdn能为网站上
  • 利用wps做网站html5网站开发方案
  • 陕西企业网站建设哪家好wordpress主循环 动态设宽度
  • 有关网站建设的图片wordpress 中文seo
  • 做网站需要什么功能招商网站的建设目的
  • 局域网网站架设有限公司企业网站建设方案
  • 石家庄新钥匙网站seo官网
  • 网站建设功能怎么写百度下载链接
  • 青岛市崂山区建设局网站智慧团建系统网站