el-tree-select屬性凰荚、方法使用

小魚(yú)兒心語(yǔ): 人生是要慢慢的成熟的燃观。我們不要去急于求成,那是要一步一步地去解決問(wèn)題浇揩。因?yàn)橐亲常遣攀巧畹囊饬x之所在–面對(duì)困難、然后就耐心地去學(xué)習(xí)胳徽、適應(yīng)并解決難題积锅。所有這些經(jīng)歷最終塑造了現(xiàn)在的你。

在寫(xiě)這個(gè)小功能的時(shí)候养盗,發(fā)現(xiàn)關(guān)于它的屬性缚陷、方法介紹在element-plus中很少,于是我想把當(dāng)時(shí)找到的一篇文章分享給你們往核,同時(shí)也做一個(gè)記錄箫爷,便于日后的代碼開(kāi)發(fā)。

需在main.js注冊(cè)組件:

import ElTreeSelect from 'el-tree-select';
vue.use(ElTreeSelect);
內(nèi)部直接使用 : <el-tree-select v-model="id"/>

API:

el-select 取消參數(shù):
multiple                       改為內(nèi)置聂儒,通過(guò)v-model類型判斷是否多選
:filterable="false"            搜索從彈出框里面執(zhí)行
:filterable="false"            搜索從彈出框里面執(zhí)行
el-tree 取消參數(shù):
:show-checkbox="selectParams.multiple"  使用下拉框參數(shù)multiple 判斷是否對(duì)樹(shù)進(jìn)行多項(xiàng) 取消對(duì)el-tree的人為傳參show-checkbox
:node-key="propsValue"  自動(dòng)獲取treeParams.props.value
:draggable="false"      屏蔽拖動(dòng)
el-select 參數(shù):
selectParams  :     支持el-select 相關(guān)參數(shù)

#### styles參數(shù):
styles 對(duì)el-select設(shè)置style,類型:Object

#### selectClass參數(shù):
selectClass  對(duì)el-select設(shè)置class,類型:String
el-tree 參數(shù):
treeParams  :     支持el-tree 相關(guān)參數(shù)
增加:'clickParent'
treeParams.clickParent 類型:Boolean 默認(rèn):false
在selectParams.multiple=false單選情況下點(diǎn)擊節(jié)點(diǎn)虎锚,判斷是否關(guān)閉彈出框
clickParent: true 允許點(diǎn)擊父級(jí)關(guān)閉彈出框 false 只能點(diǎn)擊子級(jí)關(guān)閉彈出框
popover 參數(shù):

popperClass 對(duì)應(yīng):popper-class,類型:String

搜索框參數(shù):

treeParams.filterable Boolean 考慮是顯示在彈出框內(nèi)的,因此放到treeParams參數(shù)內(nèi)

事件:

select-clear

select-clear 下拉框清空事件 this.$emit('select-clear');

removeTag
removeTag 移除單個(gè)標(biāo)簽衩婚,返回所有勾選的ids窜护,以及當(dāng)前移除的tag(可能為中文)標(biāo)簽   this.$emit('removeTag',ids,tag);
node-click
樹(shù)點(diǎn)擊,和el-tree參數(shù)一致: this.$emit('node-click', data, node, vm);
check
勾選觸發(fā),和el-tree參數(shù)一致: this.$emit('check',data, node, vm);
treeDataUpdateFun
treeDataUpdateFun 樹(shù)更新數(shù)據(jù)

this.post(url,postobj,response=>{
    this.$refs.treeSelect.treeDataUpdateFun(response.data);
});
searchFun 參數(shù): keywords
searchFun(value){
    // 如果是本地過(guò)濾:
    this.$refs.treeSelect.$refs.tree.filter(value);
    // 可以直接訪問(wèn)方法,也可以拿到 $refs.tree
    this.$refs.treeSelect.filterFun(val);
    // 如果是請(qǐng)求后臺(tái):
    this.post(url,postobj:{
        keywords:value
    },response=>{
        this.$refs.treeSelect.treeDataUpdateFun(response.data);
    });
}
filterFun 參數(shù): 本地過(guò)濾樹(shù)

this.$refs.treeSelect.filterFun(val);

DEMO (供參考)

<template>
    <div id="app">
        <el-tree-select :styles="styles" v-model="values" :selectParams="selectParams" :treeParams="treeParams" :treeRenderFun="_renderFun" @searchFun="_searchFun" @node-click="_nodeClickFun" ref="treeSelect"/>
        <el-select multiple v-model="test" placeholder="請(qǐng)選擇" @change="_selectChange">
            <el-option v-for="item in treeParams.data" :key="item.testId" :label="item.name" :value="item.testId"></el-option>
        </el-select>
    </div>
</template>
<style>
#app {
    display: flex;
    justify-content: space-between;
    width: 600px;
}
</style>
<script>
export default {
    name: 'App',
    data() {
        return {
            styles: {
                width: '300px'
            },
            test: '',
            values: ['11111'],
            selectParams: {
                multiple: true,
                clearable: true,
                placeholder: '請(qǐng)輸入內(nèi)容'
            },
            treeParams: {
                clickParent: false,
                filterable: true,
                'check-strictly': true,
                'default-expand-all': true,
                'expand-on-click-node': false,
                data: [],
                props: {
                    children: 'child',
                    label: 'name',
                    disabled: 'disabled',
                    value: 'testId'
                }
            }
        };
    },
    mounted() {
        let data = [
            {
                testId: '1',
                name: '節(jié)點(diǎn)1',
                disabled: true,
                child: [
                    {
                        testId: '11111',
                        name: '子節(jié)點(diǎn)'
                    }
                ]
            },
            {
                testId: '2',
                name: '節(jié)點(diǎn)2',
                child: [
                    {
                        testId: '222222',
                        disabled: true,
                        name: '子節(jié)點(diǎn)'
                    }
                ]
            },
            {
                testId: '3',
                name: '節(jié)點(diǎn)3'
            },
            {
                testId: '4',
                name: '節(jié)點(diǎn)4'
            },
            {
                testId: '5',
                name: '節(jié)點(diǎn)5'
            },
            {
                testId: '6',
                name: '節(jié)點(diǎn)6'
            }
        ];
        this.treeParams.data = data;
        this.$refs.treeSelect.treeDataUpdateFun(data);
    },
    methods: {
        // 下拉框修改
        _selectChange(val) {
            console.log(val, '<-select change');
        },
        // 樹(shù)點(diǎn)擊
        _nodeClickFun(data, node, vm) {
            console.log('this _nodeClickFun', this.values, data, node);
        },
        // 樹(shù)過(guò)濾
        _searchFun(value) {
            console.log(value, '<--_searchFun');
            // 自行判斷 是走后臺(tái)查詢非春,還是前端過(guò)濾
            // this.$refs.treeSelect.$refs.tree.filter(value);
            this.$refs.treeSelect.filterFun(value);
            // 后臺(tái)查詢
            // this.$refs.treeSelect.treeDataUpdateFun(treeData);
        },
        // 自定義render
        _renderFun(h, { node, data, store }) {
            return (
                <span class='custom-tree-node'>
                    <span>{node.label}</span>
                </span>
            );
        }
    },
    components: { }
};
</script>

git地址(轉(zhuǎn)載以下這篇文章):

https://github.com/alwyngo/el-tree-select
讓我們共同學(xué)習(xí)共同進(jìn)步吧~~///(^v^)\~~
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末柱徙,一起剝皮案震驚了整個(gè)濱河市缓屠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌护侮,老刑警劉巖敌完,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異羊初,居然都是意外死亡滨溉,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)长赞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)业踏,“玉大人,你說(shuō)我怎么就攤上這事涧卵∏诩遥” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵柳恐,是天一觀的道長(zhǎng)伐脖。 經(jīng)常有香客問(wèn)我,道長(zhǎng)乐设,這世上最難降的妖魔是什么讼庇? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮近尚,結(jié)果婚禮上蠕啄,老公的妹妹穿的比我還像新娘。我一直安慰自己戈锻,他們只是感情好歼跟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著格遭,像睡著了一般哈街。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拒迅,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天骚秦,我揣著相機(jī)與錄音,去河邊找鬼璧微。 笑死作箍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的前硫。 我是一名探鬼主播胞得,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼开瞭!你這毒婦竟也來(lái)了懒震?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嗤详,失蹤者是張志新(化名)和其女友劉穎个扰,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體葱色,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡递宅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了苍狰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片办龄。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖淋昭,靈堂內(nèi)的尸體忽然破棺而出俐填,到底是詐尸還是另有隱情,我是刑警寧澤翔忽,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布英融,位于F島的核電站,受9級(jí)特大地震影響歇式,放射性物質(zhì)發(fā)生泄漏驶悟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一材失、第九天 我趴在偏房一處隱蔽的房頂上張望痕鳍。 院中可真熱鬧,春花似錦龙巨、人聲如沸笼呆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)抄邀。三九已至,卻和暖如春昼榛,著一層夾襖步出監(jiān)牢的瞬間境肾,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工胆屿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奥喻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓非迹,卻偏偏與公主長(zhǎng)得像环鲤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子憎兽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容