用於vue框架的樹狀下拉框及帶有全選的普通下拉框。
Tree drop-down box for vue framework and ordinary drop-down box with select all.
本元件提供全選下拉框和樹狀下拉框功能。
wlVueSelect
這是一個基於elementUi 的el-select 元件的二次封裝的下拉框,提供了全選功能和預設選取功能;
wlTreeSelect
這是一個基於elementUi 的el-tree 元件的二次封裝的下拉框,提供了樹狀資料支援和預設選取功能;
因這兩個需求非常普遍,所以作為一個獨立插件發布。
el-select
0.4.8 修正樹形下拉框,子節點全部選取時,父節點無法取消的問題
npm i wl-vue-select --save
或
npm i wl-vue-select -S
使用
import wl from "wl-vue-select";`
import "wl-vue-select/lib/wl-vue-select.css"
Vue.use(wl);
<wlVueSelect
v-model="value"
:props="props"
:data="data"
multiple
default-select
></wlVueSelect>
<p>----------分割线------------</p>
<wlTreeSelect
leaf
width="240"
checkbox
:data="treeData"
@change="hindleChanged"
v-model="selected"
></wlTreeSelect>
data() {
return {
value: [], // 选中值
data: [
{
id: 1,
name: "海边"
},
{
id: 2,
name: "森林"
},
{
id: 3,
name: "草原"
},
{
id: 4,
name: "古城"
}
], // 数据
props: {
label: "name",
value: "id"
}, // 配置
treeData: [
{
id: "love",
name: "所有和你走过的风光",
children: [
{
id: 1,
name: "海边",
children: [
{
id: 5,
name: "蓬莱",
}
]
},
{
id: 2,
name: "森林"
},
{
id: 3,
name: "草原"
},
{
id: 4,
name: "古城"
}
]
}
],
selected: [ "1" ]// 树下拉框选中数据
};
},
methods: {
hindleChanged(val){
console.log(val,2)
console.log(this.selected)
}
},
序號 | 參數 | 說明 | 類型 | 可選值 | 預設值 |
---|---|---|---|---|---|
1 | data | options 可選列表數據 | Array | - | - |
2 | props | 配置項:顯示名字的label 欄位和綁定值的value 字段 | Object | - | { label: "label", value: "value" } |
3 | showTotal | 當可選項大於多少個時顯示全选 選項 | Number | - | 1 |
4 | defaultSelect[廢棄] | 是否啟用預設選取,如果開啟全部 時選取全部,無全部時選取第一個。 (開啟此功能請不要給v-model 賦初始值) | Boolean | - | false |
5 | 其他 | 其他el-select 提供的參數 | - | - | - |
6 | nodeKey | 使用樹狀下拉框時,必須使用key 來解析數據 | String | - | id |
7 | selected[廢棄] | 使用樹狀下拉方塊時,綁定選取資料【現改為v-model 】 | String-Number-Array-Object | - | - |
8 | checkbox | 使用樹狀下拉框時,是否開啟多選 | Boolean | - | false |
9 | width | 使用樹狀下拉框時寬度,預設單位px | String-Number | - | 240 |
10 | leaf | 樹形下拉框時,是否只可選葉節點 | Boolean | - | false |
11 | trigger | 樹狀下拉框時,觸發方式 | String | click/focus/hover/manual | click |
12 | v-model | 普通及樹狀下拉框綁定值,用法與普通表單元素相同 | String-Number-Array-Object | - | - |
13 | disabled | 是否禁用下拉框 | Boolean | - | false |
14 | nowrap | 是否不允許多行顯示,true則只顯示一行 | Boolean | - | false |
15 | noCheckedClose | 多選時,是否全部取消選取時,自動關閉選項區域 | Boolean | - | false |
16 | size | 尺寸,用法同elementui | String | - | medium |
17 | defaultExpandAll | 樹狀時,是否預設展開全部選項 | Boolean | - | true |
18 | defaultExpandedKeys | 樹狀時,預設展開節點keys | Array | - | - |
19 | filterable | 是否開啟搜尋功能(增加樹狀下拉時,和普通下拉框一樣的功能) | Boolean | - | false |
20 | filterFnc | 樹形時,選用自訂搜尋邏輯,不傳則依props內的label對應的欄位搜尋。 function(value,data) | Function | - | - |
21 | checkStrictly | 樹形時,是否父子不關聯 | Boolean | - | false |
22 | expandOnClickNode | 樹形時,是否點選節點能展開收縮 | Boolean | - | false |
23 | checkOnClickNode | 是否在點擊節點的時候選取節點,預設值為false,也就是只有在點擊複選框時才會選取節點 | Boolean | - | false |
序號 | name | 說明 | 參數 |
---|---|---|---|
1 | closeOptions | 關閉樹狀下拉框的選項區 | - |
0.5.8 樹狀下拉框增加父子不關聯配置
0.5.5 修正樹形下拉方塊初始綁定值為簡單陣列時的自動選取邏輯錯誤;修正垂直居中樣式;
0.5.4 修復初始時選取全部數據,顯示區列出來每一項而不是顯示'全部'的問題;增加script引入使用功能
0.5.3 調整組件名為大駝峰;增加按需引入
0.5.2 優化樹狀下拉框,增加搜尋及自訂搜尋功能
0.5.1 最佳化樹狀下拉框,選項顯示過度效果
0.5.0 增加樹狀樹狀下拉框defaultExpandAll,defaultExpandedKeys字段
0.4.9 增加關閉樹狀下拉方塊的選項區closeOptions方法
0.4.8 修正樹形下拉框,子節點全部選取時,父節點無法取消的問題
0.4.7 優化樹形下拉框,支援el-select的collapse-tags
0.4.6 優化樹形下拉框,使size屬性生效
0.4.5 最佳化樹狀下拉方塊placeholder,增加參數管理全部取消選取時收起選項
0.4.2 最佳化樹狀下拉框,增加是否不允許多行顯示字段
0.4.1 最佳化樹狀下拉框,增加禁用字段
0.3.9 優化樹形下拉框預設傳進來的選取資料為複雜型數組時,提取id;
0.3.8 修正樹形下拉框多選時,資料為空時只清理了顯示區未清理樹chekcbox的問題
0.3.7 修改樹形下拉方塊單選時默然選取是否只選子節點依據leaf字段
0.3.5 修正樹形下拉方塊單選時的預設選擇的缺陷【綁定值為陣列時】
0.3.4 修復樹狀下拉方塊el-tree預設選取欄位為空,getNodes方法還能取得到上次值的問題,更新rademe範例
0.3.3 修復樹形下拉框開啟多選時無限循環的問題,優化多選時根據
leaf
字段來確定是否只返回葉子節點
0.3.2 最佳化樹形下拉框橫向超出不顯示問題
0.3.0 最佳化樹狀下拉框,增加觸發顯示方式欄位
0.2.7 優化樹狀下拉方塊單選時,可選層級,並增加
leaf
參數設定是否只可選擇葉子節點,優化樹狀單選時,預設選取為object類型時的高亮效果
0.2.5 最佳化樹狀下拉框篩選演算法,優化樹形下拉框在可選項太長時增加捲動效果
0.2.4 修復showTotal大於data長度時,出現了empty的問題
0.2.3 更新範例
0.2.2 增加樹狀下拉框
0.1.2 更新演算法,全選轉單選時無需手動取消全選選項
0.1.0 初次發布,在基於el-select 上增加全選和預設選取功能