在开发中,有些业务简单的select可以满足,在复杂点 AutoSelect组件可以满足
AutoSelect组件已经可以满足配置几个html属性 就能完成数据自动加载、组装、显示、个性化、校验、自动选中默认值等
最近JFinal开发者计划成员群里有人喊需要autocomplete组件,在input上输入个关键字,希望通过关键字去数据库里查询相关数据
做成可选项,提供给用户选择
大体效果如下:

这是高级版可以通过属性配置显示数据里的哪些列,自动处理。
普通版最省心了,只要声明一下是个autocomplete组件 给一个数据源地址就行了
默认的拿着id当选中的值,name当选中的文本,如果model实现了option接口,有text和value也能自动识别显示。
这是默认配置:

具体看看代码里的配置项:

还能做到自动完成,自动校验,在数据里高亮输入部分。
那么,就这样一套完整的组件逻辑,传统开发是需要自己集成js库,写js代码等,后端还要写指定的接口,接口代码里要根据组件传值自己构建数据库查询和service。
JBolt里前端做了自动化,后端也做了适配性的底层封装。

在Controller里调用可简单了一行搞定
调用底层service封装方法

网友评论