基于 vue 与 element-ui 封装 table 中可编辑 select 组建

本文介绍如何在Vue.js项目中结合Element-UI库,封装一个只在hover时显示的可编辑Table Select组件。内容包括组件的设计思路,如TableEditorSelect.vue仅做样式封装,以及TableSelectBusse.vue作为独立的业务请求中间层,负责处理首次点击时的异步请求,获取Select选项并更新接口操作。示例在App.vue中展示。
摘要由CSDN通过智能技术生成

环境

# 安装 vue 脚手架
npm install -g @vue/cli
# 使用脚手架初始化项目
vue create element-demo
# 添加 element-ui 框架(使用 sass 预处理器)
vue add element-ui
npm install -D sass sass-loader
# 启动项目
npm run serve

文件结构

|-src
	|-components
		|-TableEditorSelect.vue
		|-TableSelectBusse.vue
	|-App.vue

TableEditorSelect.vue 组件

只有 hover 的时候才显示的 select 组建,仅仅做了样式的封装

<template>
    <el-select
        :disabled="requesting"
        :loading="loading"
        :value="value"
        @mouseenter.native="isHide = false"
        @mouseleave.native="isHide = true"
        @input="e => { $emit('input', e) }"
        :placeholder="placeholder"
        class="component table-editor-select"
        :class="[{'hide': isHide || requesting}]">
        <el-option v-for="item in options" :key="item.value" :value="item.value">{
   {
   item.label}}</el-option>
    </el-select>
</template>

<script>
export default {
   
    name: 'TableEditorSelect',
    props: {
   
        placeholder: {
   
            type: String,
            default: '请选择'
        },
        options: {
    // 备选项
            type: Array,
            required: true
        },
        requesting: {
    // 提交修改请求
            type: Boolean,
            default: false
        },
        loading: {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值