Vue3的el-table-column下拉输入实时查询API数据选择的实现方法

news/2025/1/31 21:19:13 标签: vue.js, javascript, ecmascript

由于本人对el-table-column有下拉输入选择的要求,根据网上搜索的资料及本人优化,推出我比较满意的方法,供各位读者参考使用。

效果图

在这里插入图片描述

el-table-column写法

<el-table-column
  label="货品编号"
  align="center"
  prop="productCode"
  width="180"
>
  <template #default="scope">
    <el-select
      v-model="scope.row.productCode"
      placeholder="请输入货品编号"
      @change="changeProduct(scope.$index, scope.row)"
      filterable
      remote
      :remote-method="remoteProductCode"
      :loading="loading"
      remote-show-suffix
    >
      <el-option
        v-for="item in productOptions"
        :key="item.productId"
        :label="item.productCode"
        :value="item.productId"
      ></el-option>
    </el-select>
  </template>
</el-table-column>

changeProduct写法

选择货品编号,展示接口提供的信息

  • 清空选择的数据
  • 获取选择的数据
  • 字段读取并展示对应的数据
javascript">// 选择货品
function changeProduct(index, row) {
  form.value.details[index] = {
    productCode: null,
    productName: null,
  };
  let lists = [];
  productOptions.value.forEach((item) => {
    lists = item;
  });
  form.value.details[index] = {
    productCode: lists.productCode,
    productName: lists.productName,
  };
  form.value.details = [...form.value.details];
}

remoteProductCode写法

查询货品编号信息

原理:if有指定内容查询则显示对应信息,else显示全部

  • optionReset重置下拉框表单
  • listProduct调用API接口
javascript">function remoteProductCode(query) {
  optionReset();
  if (query) {
    loading.value = true;
    setTimeout(() => {
      option.value.productCode = query;
      listProduct(option.value).then((response) => {
        productOptions.value = response.rows;
      });
      loading.value = false;
      productOptions.value = list.value.filter((item) => {
        return item.label.toLowerCase().includes(query.toLowerCase());
      });
    }, 200);
  } else {
    listProduct(option.value).then((response) => {
      productOptions.value = response.rows;
    });
  }
}

源码分析

关于源码取自铠思进销存系统的ks-vue3/src/views/system/purchase/paymentDocumentProcessing.vue


http://www.niftyadmin.cn/n/5838873.html

相关文章

3.6 rbac类型的Authorization鉴权

本节重点总结 : rbac模型四种对象的关系 role&#xff0c;clusterrolerolebinding&#xff0c;clusterrolebinding role、clusterrole中的rules规则 资源对象非资源对象apiGroupsverb动作 rbac鉴权的代码逻辑 通过informer获取clusterRoleBindings列表&#xff0c;根据user匹配…

课题推荐:基于matlab,适用于自适应粒子滤波的应用

自适应粒子滤波&#xff08;Adaptive Particle Filter, APF&#xff09;是一种用于状态估计的有效方法&#xff0c;特别适用于非线性和非高斯系统。 文章目录 应用场景MATLAB 代码示例代码说明结果扩展说明 以下是一个基于自适应粒子滤波的简单应用示例&#xff0c;模拟一个一维…

5.3.2 软件设计原则

文章目录 抽象模块化信息隐蔽与独立性衡量 软件设计原则&#xff1a;抽象、模块化、信息隐蔽。 抽象 抽象是抽出事物本质的共同特性。过程抽象是指将一个明确定义功能的操作当作单个实体看待。数据抽象是对数据的类型、操作、取值范围进行定义&#xff0c;然后通过这些操作对数…

LabVIEW微位移平台位移控制系统

本文介绍了基于LabVIEW的微位移平台位移控制系统的研究。通过设计一个闭环控制系统&#xff0c;针对微位移平台的通信驱动问题进行了解决&#xff0c;并提出了一种LabVIEW的应用方案&#xff0c;用于监控和控制微位移平台的位移&#xff0c;从而提高系统的精度和稳定性。 项目背…

linux的/proc 和 /sys目录差异

/proc 和 /sys 都是Linux系统中用于提供系统信息和进行系统配置的虚拟文件系统&#xff0c;但它们的原理并不完全一样&#xff0c;以下是具体分析&#xff1a; 目的与功能 /proc &#xff1a;主要用于提供系统进程相关信息以及内核运行时的一些参数等&#xff0c;可让用户和程…

Bash 基础与进阶实践指南

目录 Bash 简介与基础基本命令与文件操作权限管理与用户管理重定向与管道变量与环境变量通配符与正则表达式Shell 脚本结构与控制流常用内建命令与技巧文本处理常用命令作业控制与进程管理别名与函数实用技巧与注意事项更多 Bash 进阶话题参考资源 1. Bash 简介与基础 1.1 什…

MacOS 如何映射快捷键

MacOS 如何映射快捷键 背景步骤说明映射示例 背景 参考文档 macOS Sequoia 现在要求热键注册至少使用一个非 shift 或 option 的修饰符&#xff0c;对于原来使用快捷键 option * 的功能无法使用。通过软件 karabiner-element.app 做键盘映射&#xff0c;可以实现原有功能继续…

[EAI-027] RDT-1B,目前最大的用于机器人双臂操作的机器人基础模型

Paper Card 论文标题&#xff1a;RDT-1B: a Diffusion Foundation Model for Bimanual Manipulation 论文作者&#xff1a;Songming Liu, Lingxuan Wu, Bangguo Li, Hengkai Tan, Huayu Chen, Zhengyi Wang, Ke Xu, Hang Su, Jun Zhu 论文链接&#xff1a;https://arxiv.org/ab…