React 框架 + ant design DirectoryTree 添加搜索框

在React 框架里使用ant design确买,ant design tree 組件網(wǎng)址:https://ant-design.gitee.io/components/tree-cn/

  //導入antd;
import { Tree } from 'antd';
const { DirectoryTree } = Tree;

//創(chuàng)建組件
class Search extends React.Component{
  constructor(props) {
        super(props);
       this.state = {
           select_treenodes:[ ],
           expandFlag:[ ],
           tree_data:[ ],
     }
}
onSelect = (selectedKeys, info) => {
   //點擊樹節(jié)點觸發(fā)事件可以打印selectedKeys殷勘,info查看它的值
     }

// 展開/收起節(jié)點時觸發(fā)(把指定張開的父節(jié)點重新賦值;如果加了 expandedKeys,就必須用這一步按咒,不然不能展開節(jié)點以及收起節(jié)點)
    onExpand=(expandedKeys, {expanded: bool, node})=>{
        console.log(expandedKeys);
        this.setState({
            expandFlag:expandedKeys,
        }
    }

//當搜索框輸入時觸發(fā)
SearchChange = (e)=>{
        console.log(e.target.value) //輸入的值打印
        let data = this.state.tree_data; //節(jié)點數(shù)據(jù)挖帘;
        //遍歷節(jié)點數(shù)據(jù)
        for(let i =0; i <data[0].children.length; i++){
            if(data[0].children[i].title == e.target.value){  //如果輸入的值等于節(jié)點的title,把節(jié)點張開捺僻,標記節(jié)點乡洼;
                console.log(data[0].children[i].key) //打印key崇裁,如果key是number類型則要轉化成String類型;
                this.setState({
                    select_treenodes:[data[0].children[i].key], //設置選中的樹節(jié)點
                    expandFlag:[String(data[0].key)],    //展開指定父節(jié)點
                })
            }
        }
        console.log(this.state.tree_data)
}
//渲染
render(){
          //tree數(shù)據(jù)
      const treeData = [
                   {
                   title: 'parent 0',
                   key: '0-0',
                 children: [
                    { title: 'leaf 0-0', key: '0-0-0', isLeaf: true },
                    { title: 'leaf 0-1', key: '0-0-1', isLeaf: true },
                    ],
                },
                {
                 title: 'parent 1',
                 key: '0-1',
                children: [
               { title: 'leaf 1-0', key: '0-1-0', isLeaf: true },
               { title: 'leaf 1-1', key: '0-1-1', isLeaf: true },
              ],
            },
    ];
    this.state.tree_data =  treeData  //節(jié)點值賦值給state 的tree_data;
   return(
         <div>
             <Search style={{ marginBottom: 8 }} placeholder="search" onChange={this.SearchChange} /> //搜索框
                 <DirectoryTree
                      multiple   //支持點選多個節(jié)點(節(jié)點本身)boolean類型束昵;
                      onSelect={this.onSelect}  //點擊樹節(jié)點觸發(fā)拔稳;
                      selectedKeys={this.state.select_treenodes}  //(受控)設置選中的樹節(jié)點;
                       // 展開指定的樹節(jié)點
                      expandedKeys={this.state.expandFlag}   //(受控)展開指定的樹節(jié)點(注意,這個一定要與onExpand一起用锹雏,不然不能關閉和展開樹節(jié)點巴比;
                        onExpand={this.onExpand}  //    展開/收起節(jié)點時觸發(fā);
                         treeData={treeData} />   //數(shù)據(jù)
        </div>

   )
}
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市礁遵,隨后出現(xiàn)的幾起案子轻绞,更是在濱河造成了極大的恐慌,老刑警劉巖榛丢,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铲球,死亡現(xiàn)場離奇詭異,居然都是意外死亡晰赞,警方通過查閱死者的電腦和手機稼病,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掖鱼,“玉大人然走,你說我怎么就攤上這事∠返玻” “怎么了芍瑞?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長褐墅。 經(jīng)常有香客問我拆檬,道長,這世上最難降的妖魔是什么妥凳? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任竟贯,我火速辦了婚禮,結果婚禮上逝钥,老公的妹妹穿的比我還像新娘屑那。我一直安慰自己,他們只是感情好艘款,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布持际。 她就那樣靜靜地躺著,像睡著了一般哗咆。 火紅的嫁衣襯著肌膚如雪蜘欲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天晌柬,我揣著相機與錄音芒填,去河邊找鬼呜叫。 笑死空繁,一個胖子當著我的面吹牛殿衰,可吹牛的內容都是我干的。 我是一名探鬼主播盛泡,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼闷祥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了傲诵?” 一聲冷哼從身側響起凯砍,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拴竹,沒想到半個月后悟衩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡栓拜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年座泳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幕与。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡挑势,死狀恐怖,靈堂內的尸體忽然破棺而出啦鸣,到底是詐尸還是另有隱情潮饱,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布诫给,位于F島的核電站香拉,受9級特大地震影響,放射性物質發(fā)生泄漏中狂。R本人自食惡果不足惜凫碌,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吃型。 院中可真熱鬧证鸥,春花似錦、人聲如沸勤晚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赐写。三九已至鸟蜡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挺邀,已是汗流浹背揉忘。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工跳座, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泣矛。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓疲眷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親您朽。 傳聞我的和親對象是個殘疾皇子狂丝,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內容

  • 持續(xù)更新中...... 一套企業(yè)級的 UI 設計語言和 React 實現(xiàn)。 https://mobile.ant....
    日不落000閱讀 5,689評論 0 35
  • 學習資料 vue github (里面包含了vue, vuex, vue-cli等源碼) vue-cli 官網(wǎng) v...
    pauljun閱讀 6,196評論 2 17
  • 傷寒傷風之證哗总,感之既速几颜,應之亦速,若對癥治療讯屈,去之亦速蛋哭,若錯謬則亡之亦速。 今世之人涮母,衣錦食玉谆趾,以車代步,毫無勞...
    葉落歲暮閱讀 263評論 11 4
  • Vim 與GCC概述
    Aero小白閱讀 87評論 0 0
  • 大家好,我是吾小趣成人用品的小編炮赦,很多都在問小編怜跑,有哪些不花錢的網(wǎng)店推廣方法,想不花錢的話,辦法也有啊,但是不花錢...
    吾小趣閱讀 493評論 0 1