渲染ElementUI中【el-select】下拉选择器中的数据

渲染ElementUI中【el-select】下拉选择器中的数据

测试数据源下拉选择器数据源

少少解释一下

:key="item.userId"   
          :label="item.userName"
          :value="item.userName"
          @change="handleChange"
  • key : 是保证你选中的值得唯一性,最好是设置成你数据源中的唯一值【否则会报错偶!】

  • label: 这个值是下拉选框显示的值,不设置就没有显示【你可以试一下】

  • value: 就是下拉选框选中的值,这个同时也是设置下拉选框默认值的重要参数!【比如我把下拉选框的默认值设置成“lvhanghmm”】


报错!

设置默认值

最终代码

<template>
  <div id="container">
    <el-card>
      <el-select v-model="value" placeholder="请选择">
        <el-option
          v-for="item in options"
          :key="item.userId"
          :label="item.userName"
          :value="item.userName"
          @change="handleChange"
        >
        </el-option>
      </el-select>
    </el-card>
  </div>
</template>

<script>
import { selectData } from "./selectData";

export default {
  created() {
    console.log(123);
  },
  data() {
    return {
      options: selectData,
      value: "",
    };
  },
  methods: {
    handleChange(val) {
      console.log(val);
    },
  },
};
</script>

<style scoped>
</style>

【投稿说明】
博客园是面向开发者的知识分享社区,不允许发布任何推广、广告、政治方面的内容。
博客园首页(即网站首页)只能发布原创的、高质量的、能让读者从中学到东西的内容。
如果博文质量不符合首页要求,会被工作人员移出首页,望理解。如有疑问,请联系contact@cnblogs.com。

### ElementUI 中 `el-select` 组件树形结构回显的实现方法 在 Vue 和 ElementUI 开发中,当需要处理带有树形结构的数据并实现在 `el-select` 下拉框中进行选项回显时,可以按照以下方式进行设计和开发。 #### 数据准备 为了支持树形结构的选择器,通常会定义一个具有父子关系的对象数组作为数据源。例如: ```javascript const treeData = [ { id: '1', label: 'Node 1', children: [ { id: '1-1', label: 'Child Node 1' }, { id: '1-2', label: 'Child Node 2' } ] }, { id: '2', label: 'Node 2' } ]; ``` 此数据可以通过 API 动态获取或者静态配置[^1]。 #### 自定义过滤逻辑 由于标准的 `el-option` 不支持嵌套层次结构展示,因此需自定义渲染模板来适配树状节点。通过 `scoped-slot` 或者插槽扩展功能完成复杂 UI 表达需求的同时保持灵活性。 以下是具体代码片段演示如何构建带树形结构的可筛选下拉菜单组件: ```html <template> <div> <!-- 使用 el-cascader 来模拟树形 select --> <el-cascader v-model="selectedValue" :options="treeData" @change="handleChange" clearable></el-cascader> <!-- 如果坚持使用 el-select,则需要手动解析路径 --> <el-select v-model="selectedText" filterable remote reserve-keyword placeholder="请输入关键词"> <el-tree ref="treeRef" :data="treeData" show-checkbox node-key="id" highlight-current default-expand-all check-on-click-node /> </el-select> </div> </template> <script> export default { data() { return { selectedValue: [], // 存储级联选择的结果 selectedText: '', // 单独存储当前选中文本用于显示 treeData: [] // 初始化为空待加载实际业务数据 }; }, methods: { handleChange(value) { console.log('Selected:', value); }, loadTreeData() { this.treeData = [ { id: '1', label: 'Parent 1', children: [{ id: '1-1', label: 'Child A' }, { id: '1-2', label: 'Child B' }] }, { id: '2', label: 'Parent 2' } ]; } }, mounted() { this.loadTreeData(); // 页面初始化完成后填充数据 } }; </script> ``` 上述例子展示了两种可能的技术路线:一种基于原生 `el-cascader` 控件快速搭建;另一种则尝试融合 `el-select` 加上内部封装好的 `el-tree` 插件形式达成目标效果[^2]。 对于更复杂的场景比如异步加载子项或是跨层联动操作等高级特性,则建议深入研究官方文档以及社区贡献的相关解决方案[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lvhanghmm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值