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

<el-autocompoete>下拉列表,点击选择之后的操作事件

在 Element UI 或者 Element Plus 中,el-autocomplete 组件在用户点击下拉列表项进行选择后,可以通过监听 @select 事件来执行相应操作。下面分别给出 Element Plus(Vue 3)和 Element UI(Vue 2)的示例代码。

Element Plus(Vue 3)示例

<template>
  <div>
    <!-- 绑定数据源和选择事件 -->
    <el-autocomplete
      v-model="inputValue"
      :fetch-suggestions="querySearch"
      placeholder="请输入内容"
      @select="handleSelect"
    >
    </el-autocomplete>
  </div>
</template>

<script setup>
import { ref } from 'vue';

// 输入框的值
const inputValue = ref('');

// 模拟搜索建议数据
const querySearch = (queryString, cb) => {
  const suggestions = ['Apple', 'Banana', 'Cherry', 'Date'];
  const results = suggestions.filter(item => item.toLowerCase().includes(queryString.toLowerCase()));
  cb(results);
};

// 处理选择事件
const handleSelect = (item) => {
  console.log('你选择了: ', item);
  // 这里可以添加其他操作,比如更新表单数据、发送请求等
};
</script>

代码解释
v-model:绑定输入框的值。
fetch-suggestions:用于获取搜索建议数据,这里模拟了一个简单的过滤逻辑。
@select:监听选择事件,当用户点击下拉列表中的某一项时,会触发 handleSelect 方法,并将选中的项作为参数传入。
handleSelect:处理选择事件的方法,在这个例子中,只是简单地将选中的项打印到控制台,你可以根据需求添加其他操作。
Element UI(Vue 2)示例

<template>
  <div>
    <!-- 绑定数据源和选择事件 -->
    <el-autocomplete
      v-model="inputValue"
      :fetch-suggestions="querySearch"
      placeholder="请输入内容"
      @select="handleSelect"
    >
    </el-autocomplete>
  </div>
</template>

<script>
export default {
  data() {
    return {
      // 输入框的值
      inputValue: ''
    };
  },
  methods: {
    // 模拟搜索建议数据
    querySearch(queryString, cb) {
      const suggestions = ['Apple', 'Banana', 'Cherry', 'Date'];
      const results = suggestions.filter(item => item.toLowerCase().includes(queryString.toLowerCase()));
      cb(results);
    },
    // 处理选择事件
    handleSelect(item) {
      console.log('你选择了: ', item);
      // 这里可以添加其他操作,比如更新表单数据、发送请求等
    }
  }
};
</script>

代码解释
基本逻辑和 Element Plus 的示例类似,只是在 Vue 2 中使用 data 选项定义数据,使用 methods 选项定义方法。
通过监听 @select 事件,你可以在用户选择下拉列表项后执行自定义操作。 在 Element UI 或者 Element Plus 中,el-autocomplete 组件在用户点击下拉列表项进行选择后,可以通过监听 @select 事件来执行相应操作。下面分别给出 Element Plus(Vue 3)和 Element UI(Vue 2)的示例代码。


http://www.kler.cn/a/595191.html

相关文章:

  • <details>和<summary>标签的用途,如何使用它们实现可折叠内容
  • 如何使用React Router处理404错误页面?
  • 深入解析 C# 中的装饰器模式(Decorator Pattern)
  • Axure项目实战:智慧城市APP(一)(动态面板、拖动效果)
  • vue2 keep-alive不生效
  • Qemu-STM32(十):STM32F103开篇
  • 受 ESP32-C6 支持的 ESP-TEE 框架正式发布
  • 固定公网 IP
  • 批量将 PPT 拆分成多个文件,支持按页面数量拆分也支持按节拆分
  • Kubernetes Init 容器:实现 Nginx 和 PHP 对 MySQL 的依赖检查
  • 【AI速读】30分钟搭建持续集成:用Jenkins拯救你的项目
  • 【Linux】Reactor模式
  • MySQL事务全解析:从概念到实战
  • 信创-人大金仓数据库创建
  • 《TCP/IP网络编程》学习笔记 | Chapter 20:Windows 中的线程同步
  • Centos 7 安装VNC服务
  • 【nnUnetv2】Code分析
  • Linux权限管理详解
  • 阿里云服务器部署 五 Nginx + springboot
  • 3.21-1自动化框架