React 級聯下拉列表實現

// 數據結構
{
"status": "200",
"data": {
"groups": [
{
"name": "官方專區",
"todayposts": "0",
"gid": "1"
},
{
"name": "理財有道",
"todayposts": "0",
"gid": "64"
},
{
"name": "點友之家",
"todayposts": "0",
"gid": "65"
},
{
"name": "版務專區",
"todayposts": "0",
"gid": "59"
}
],
"subforums": {
"1": [
{
"name": "公告區",
"todayposts": "0",
"fid": "2"
}
...

 

<select value={ state.form.fid } onChange={ this.setStateByKey.bind(this, 'fid') } onFocus={ this.setActiveInput.bind(this, 'fid') } onBlur={ this.setActiveInput.bind(this, '') }>
              <option value="0">選擇版塊</option>
              {
                Object.keys(modules).map((key) => (
                  modules[key].map((item) => (
                    <option key={item.fid} value={item.fid}>{item.name}</option>
                  ))
                ))
              }
            </select>
          </div>
          {
            state.form.fid && subModule[state.form.fid] ?
              <div className="module bl-line">
                <select value={ state.form.subFid } onChange={ this.setStateByKey.bind(this, 'subFid') }>
                  <option value="0">選擇子版塊</option>
                  {
                    subModule[state.form.fid].map((item) => (
                      <option key={item.fid} value={item.fid}>{item.name}</option>
                    ))
                  }
                </select>
              </div> : ''
          }

 



有疑問或技術交流,掃描公衆號一起討論學習。

更多React在線學習訪問:http://each.sinaapp.com/react/index.html

發佈了721 篇原創文章 · 獲贊 31 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章