当前位置: 首页 > Web前端 > HTML

如何使用YonBuilder实现数据过滤功能?

时间:2023-03-28 16:51:56 HTML

YonBuilder提供了多种方式来实现数据过滤功能。本期我们利用出入库示例中创建的库存列表页面,实现页面的数据过滤功能,通过前端功能实现数据过滤。方法单独介绍。01数据过滤功能对于inventory表中的数据,我们希望通过添加数据过滤功能,不显示商品数量为0的行。因此,我们首先要选择我们要添加过滤限制的页面,进入修改页面设计。在页面设计中,点击预览可以看到在配置数据过滤功能之前,库存表中仍然显示了商品数量为0的数据信息。由于我们配置的数据过滤功能是针对整个页面实现的,所以我们首先要在层次结构中点击页面的根目录,找到数据过滤的设置入口。点击数据过滤进入配置页面,通过添加按钮新建一条“条数大于0”的数据过滤规则并保存。之后我们再次预览库存页面,可以看到此时已经没有显示数量为0的库存信息。所以,通过上面的配置,已经实现了数据的基本过滤功能。02通过前端功能进行过滤除了页面自带的基本功能外,我们还可以通过YonBuilder中的前端功能对页面进行扩展,实现过滤、监控、触发等功能。这里简单介绍一下前端功能中的过滤功能。在前端函数中,可以使用CommonVOs和SimpleVOs两个函数来实现数据过滤。首先在页面根目录下找到脚本的编辑入口。点击设置后,在下拉框中选择前端功能,进入功能编辑页面;进入页面后,在数据模型页面编辑代码并保存。对于CommonVOs,在页面初始化时读取当前页面数据并进行条件过滤,在commonVOs.push函数中配置查询条件。其中,itemName对应数据过滤函数中的字段名;op对应运算符(gt大于,eq等于,lt小于等);value1对应于值。具体的CommonVOs数据过滤代码如下,其作用是过滤掉条目数大于0的信息。//库存列表--页面初始化viewModel.on('customInit',function(data){varviewModel=this;//检索前条件过滤viewModel.on('beforeSearch',function(args){debugger;args.isExtend=true;//常用校验查询条件varcommonVOs=args.params.condition.commonVOs;commonVOs.push({//itemName对应要过滤的字段名itemName:'num',//op为简写comparator:'gt',//num是你要比较的值value1:0});});});在SimpleVOs中,该字段对应CommonVOs中的itemName,其他两个字段与CommonVOs中的字段含义相同。具体的SimpleVOs数据过滤代码如下,其作用与上述代码相同。viewModel.on('customInit',function(data){//盘点列表--页面初始化调试器;varviewMode=this;viewModel.on('beforeSearch',function(args){//字段num大于0的数据查询args.params.condition.simpleVOs=[{field:'num',Op:'gt',value1:0}];});});在配置前端函数进行过滤时,有,因为字段属性中比较器的优先级高于前端函数,而数量类型的字段比较器默认等于。如果只是添加脚本而不修改比较符号,是无法获取到大于0的数据的,所以需要先修改字段比较符号。通过以上配置,已经实现了基本的数据过滤功能。保存页面修改后,再次点击预览,可以看到此时数量为0的库存信息不再显示。在上面的前端功能配置中,只要修改代码中的itemName、op、value1等字段,就可以实现各种过滤效果。例如op设置为lt,value1设置为10,可以达到过滤掉物品数量小于10的库存信息的效果。需要注意的是字段比较器一定要设置为lessthanfirst,避免两者冲突现场比较器和前端功能配置。实现效果如图,可以看到此时不再展示商品数量大于等于10的库存信息。在数据过滤功能中,除了可以对数值类型进行过滤外,还可以对文本、日期等多种类型的字段进行过滤。同时,可以通过修改代码中的函数实现除过滤之外的更多扩展功能。具体的功能配置方法可以去官方教程查看