背景
我所在的小組主要面向內部, 開發內部平臺, 大多數頁面都存在以下的結構: 篩選框 + 表格; 小組內vue UI框架選型為view-design, view-design的Table元件支援使用JSON自動構建出表格, 但是並沒有提供篩選框元件; 儘管有提供Input, Select等元件, 但是每次都需要寫重複的程式碼!
因此, 若是有一款元件, 支援傳入JSON配置, 再根據JSON自動構建出篩選框, 便可以大大提升效率! vue-filter-box便是這麼一款元件!
功能
vue-filter-box基於view-design, 因此需要先安裝view-design
元件通過傳入model自動構建篩選框, 並支援多種常見的元件型別: Input, InputNumber, Select等:
<template>
<vue-filter-box v-model="filterValue" :model="model"></vue-filter-box>
</template>
<script>
import {VueFilterBox} from 'vue-filter-box'
export default {
name: 'App',
components: {
VueFilterBox
},
data() {
return {
model: {
input: {
component: 'Input',
title: '輸入框',
width: '300px'
},
inputNumber: {
component: 'InputNumber',
title: '數字輸入框',
width: '300px'
},
select: {
component: 'Select',
title: '搜尋框',
width: '300px',
options: [
{label: 'option1', value: 0},
{label: 'option2', value: 1}
],
prop: {
multiple: true
}
}
},
filterValue: {
input: '這是一個輸入框',
inputNumber: 50,
select: [1]
}
}
}
}
</script>
如何使用
具體用法請查閱元件文件: https://github.com/ruofee/vue-filter-box
最後
如何元件給你帶來便利的話, 給個star好嗎~