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

buildadmin+tp8表格操作(5)自定义组装搜索的查询

有时候我们会自定义组装一些数据,发送给后端,让后端来进行筛选,这里有一个示例

const onComSearchIdEq = () => {
    // 展开公共搜索
    baTable.table.showComSearch = true
    /**
     * 公共搜索表单赋值
     * 范围搜索有两个输入框,输入框绑定变量分别为 `字段名-start` 和 `字段名-end`
     * 当前是范围搜索的等于示例,所以 start 和 end 均为1
     */
    baTable.comSearch.form = Object.assign(baTable.comSearch.form, {
        'id-start': 1,
        'id-end': 1,
    })

    /**
     * 组装发送给服务端的筛选条件数据
     */
    const fieldDataTemp = baTable.comSearch.fieldData.get('id') // 获取 id 字段的公共搜索数据,它由 baTable 自动初始化
    if (fieldDataTemp) {
        // 筛选数据组装
        let comSearchData: comSearchData = {
            field: 'id', // 筛选字段
            val: '1,1', // 范围查询的 start 值和 end 值,直接使用逗号分隔
            operator: fieldDataTemp.operator, // 公共搜索操作符号
            render: fieldDataTemp.render, // 字段渲染方案
        }
        let index = getArrayKey(baTable.table.filter!.search!, 'field', 'id') // 查询是否已经有 id 字段的筛选数据
        if (!index) {
            // push 到要发送给服务端的筛选条件数组中
            baTable.table.filter!.search!.push(comSearchData) // 无则 push
        } else {
            baTable.table.filter!.search![index] = comSearchData // 有则重新赋值
        }

        // 重新请求表格数据(刷新表格)
        baTable.onTableHeaderAction('refresh', {})
    } else {
        console.log('没有找到 id 字段的公共搜索数据,因为该字段禁止了公共搜索')
    }
}

从上面的代码中, 可以看到, 主要是组装了一个 comSearchData的数组,之后调用, baTable.onTableHeaderAction(‘refresh’,{}) 的方法刷新了一下表格就可以了。
为什么是这样就可以了
找到 refresh 方法, 调用了 getIndex()方法
在这里插入图片描述
找到index 的方法,这里有一个 this.table.filter
在这里插入图片描述
找到 filter ,可以看到 comSearchDAta 是在这里的,也就是说表格每一次刷新,都会使用搜索中的数据
在这里插入图片描述
所以, 我们更改了 comSearchData之后,直接刷新表格,就有效果了


http://www.kler.cn/news/136562.html

相关文章:

  • Mybatis mapper文件 resultType和resultMap的区别
  • 驱动开发系列20 - Linux Graphics Xorg-server 介绍
  • SLAM|1. 相机投影及相机畸变
  • OpenCV和HALCON
  • MoCoOp: Mixture of Prompt Learning for Vision Language Models
  • wx.reLaunch和wx.miniProgram.navigateTo
  • Linux驱动开发——块设备驱动
  • C语言编程陷阱 (九)
  • 深入解析序列模型:全面阐释 RNN、LSTM 与 Seq2Seq 的秘密
  • 用不用Microsoft Defender是你的自由,但不用最好也得有替代品
  • Java,集合框架,关于Collection接口(子接口List和Set)
  • Cloud 微服务
  • Redis篇---第十一篇
  • 2023年亚太杯数学建模亚太赛ABC题思路资料汇总贴
  • HttpClient发送MultipartFile多文件及多参数请求
  • 担忧CentOS停服?KeyarchOS系统来支撑
  • 大模型LLM 在线量化;GPTQ\AWQ量化及推理
  • Windows 安装 Docker
  • PostgreSQL数据库结合内网穿透实现公网远程连接
  • 2023年中职“网络安全“—Linux系统渗透提权③
  • 如何快速将txt类型的日志文件转换为excel表格并进行数据分析报表统计图(如:饼图、折线图、柱状图)?
  • WPS或Excel查找A列中有B列没有的值
  • synchronized锁膨胀过程
  • 第四代智能井盖传感器,实时守护井盖位安全
  • IF:9.0+期刊被踢除,11月SCI/SSCI期刊目录已更新!
  • 上下文切换