赞
踩
本篇文章主要记录一下开发中el-select组件常用的一些知识点,其中包括标签和下拉框内容自定义显示,外部条件触发事件,还有很常用的可选择可输入搜索功能,在此学习记录一下。
下面先来看一段代码:
<el-form-item v-show="isVisable" :label="公司名称与代码" prop="companyName" > <el-select v-model="form.companyNameCode" clearable filterable @change="getCompanyInfo" :placeholder="请选择" > <el-option v-for="item in companyData" :key="item.id" :label="`${item.companyName}${item.companyCode}`" :value="item.companyCode" > <template #default>{{ item.companyCode}}-{{ item.companyName}}</template> </el-option> </el-select> </el-form-item>
其中的filterable就让组件既能选择又能搜索了
${变量}
代码如下:
:label="`${item.companyName}${item.companyCode}`"
在这个开发需求中,标签内容需要同时显示公司名称和公司代码。但是我们知道,label标签只能接受一个值,label标签如果写成:label="item.companyName - item.companyCode"这样肯定也是不行的,编译器会报语法错误。这时就可以用模板语法
${变量}
实现显示多个变量内容了。如下图所示
代码如下(示例):
<el-option
v-for="item in companyData"
:key="item.id"
:label="`${item.companyName}${item.companyCode}`"
:value="item.companyCode"
>
<template #default>{{ item.companyCode}}-{{ item.companyName}}</template>
</el-option>
在实际开发中,有时下拉框展示的选项可能要和我们的标签展示的不一样,这时候可以使用
<template #default>{{变量}}-{{变量}}</template>
来自定义下拉框展示的内容。如下图,就能实现下拉框内容和标签内容自定义啦!
如下代码:
<el-select v-model="form.userName" filterable clearable @keyup.enter="getUserInfoByName" @blur="getUserInfoByName" @change="getUserInfoByName" > <el-option v-for="user in memberList" :key="user.userId" :label="user.userName" :value="user.userName" > <template #default> {{ user.userId }}{{ user.userName }} </template> </el-option> </el-select>
在以上代码中,@keyup.enter=“方法名” 代表按回车触发方法事件;@blur=“方法名” 代表当输入焦点失去时触发方法事件;@change=“getUserInfoByName” 代表标签值改变时触发方法事件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。