前言
今天还是继续在写vue后台 但是遇到select条件太多的情况 一个页面还有多个select 都写在data里就会显得代码臃肿 然后就想着把这些条件移出去
思路
想法很简单 就新建一个js文件 然后定义一个常量对象 把这些查询条件都放到常量里去 最后再导出就行 页面中去import导入一下这个常量就行
代码
common/index.js
const options = {
branchOptions: [{
value: '0',
label: '全部支部'
}, {
value: '1',
label: '数媒支部'
}, {
value: '2',
label: '计科支部'
}, {
value: '3',
label: '软工支部'
}],
classOptions: [{
value: '0',
label: '全部班级'
}, {
value: '1',
label: '数媒201'
}, {
value: '2',
label: '数媒202'
}, {
value: '3',
label: '数媒203'
}],
}
export default options
页面
<template>
<el-card>
<el-row :gutter="20">
<el-col :span="2">
<el-button type="primary" icon="el-icon-plus">新增</el-button>
</el-col>
<el-col :span="2">
<el-button type="success" icon="el-icon-download">批量导入</el-button>
</el-col>
<el-col :span="9">
<el-button type="primary" icon="el-icon-plus">下载模板</el-button>
</el-col>
<el-col :span="3">
<el-select v-model="searchForm.branchValue" placeholder="全部支部">
<el-option v-for="item in options.branchOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="3">
<el-select v-model="searchForm.classValue" placeholder="全部班级">
<el-option v-for="item in options.classOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="3">
<el-input v-model="searchinput" placeholder="姓名"></el-input>
</el-select>
</el-col>
<el-col :span="2">
<el-button type="primary" icon="el-icon-search">查询</el-button>
</el-col>
</el-row>
</el-card>
</template>
<script>
import options from '@/common/index.js'
export default {
data() {
return {
options,
searchForm: {
branchValue: '全部支部',
classValue: '全部班级',
},
}
}
}
</script>
<style>
</style>
踩坑
看着非常丝滑的操作 还是踩坑了 因为在data里没有注册一下options 一直引入不进来 所以这步真的很重要 记录一下~
|