【前端实习日记(2)】vben admin table如何获取绑定的搜索表单里的value?

1,020 阅读2分钟

最近居家办公,有点懈怠了,让我们重新dive on 公司用的vben框架,这个框架实在封装太多了,本菜鸡一直搞不懂封装的table到底怎么获得绑定的搜索表单的values(之前一直用的beforefetch的方法)

截屏2022-10-21 上午11.05.28.png

但其实vben文档是有相关方法的:

截屏2022-10-21 上午11.06.34.png 不过这些methods不能直接用,需要先将getForm注册在table上, 截屏2022-10-21 上午11.11.01.png 然后,在使用方法前加上getForm().getFieldsValue() 这样就能获得搜索表单里的值了。 同理,getForm().resetFields()可以用来重置表单值,在重写reset逻辑的时候可以用到。 而getForm().setFiedlsValue()可以用来传值到表单里去,有的时候我们需要通过路由跳转,上一个页面的数据要传到表单里, 我们可以 截屏2022-10-21 上午11.19.46.png 做项目期间还用到了动态校验规则(逻辑就是当id有值输入的时候,name的requireds规则是不必要的,虽然这个最后没用到了),反正也都是文档里的东西,多Log试试看就能出来。 截屏2022-10-25 下午10.33.25.png 接下来简单说说这两周遇到的问题: 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的效果