环境
# 安装 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: {