最近居家办公,有点懈怠了,让我们重新dive on 公司用的vben框架,这个框架实在封装太多了,本菜鸡一直搞不懂封装的table到底怎么获得绑定的搜索表单的values(之前一直用的beforefetch的方法)
但其实vben文档是有相关方法的:
不过这些methods不能直接用,需要先将getForm注册在table上,
然后,在使用方法前加上getForm().getFieldsValue()
这样就能获得搜索表单里的值了。
同理,getForm().resetFields()可以用来重置表单值,在重写reset逻辑的时候可以用到。
而getForm().setFiedlsValue()可以用来传值到表单里去,有的时候我们需要通过路由跳转,上一个页面的数据要传到表单里,
我们可以
做项目期间还用到了动态校验规则(逻辑就是当id有值输入的时候,name的requireds规则是不必要的,虽然这个最后没用到了),反正也都是文档里的东西,多Log试试看就能出来。
接下来简单说说这两周遇到的问题:
1.[] === [] =>false 原因: 引用类型之间比较时,比较的不是值,而是储存它们的地址。虽然两个空数组看上去一毛一样,可是它们并不是同一个数组,故为false。所以判断一个数组是不是空数组,最好用!Array.length
2.中文识别可以用charCodeAt(0)>255
3.一些mysql的语句在oracle里用不了,比如limit,常见的oracle语句有:(1)where id in('123','456') in可以提高搜索的效率!
(2)where (id='123' OR name='456') AND DT between to_date('2022-10-01','yyyy-mm-dd')and to_date('2022-11-01','yyyy-mm-dd')
(3)通过设置rownum rn可以实现类似mysql语句limit的效果