2017-08-28 32 views
1

我有我的桌子view.And我正在完善顯示 使用map函數的posfields.But我的問題是當我試圖映射td裏面posfields地圖函數其拋出我錯誤「未定義的'頭'」。如何映射裏面的地圖功能在reactjs

{ 
    this.POSFields.map(function (posFields, POSFieldsId) { 
    return (
     <tr> 
     <td className="posheader" key={POSFieldsId} value={posFields.POSFieldsId} 
      {posFields.POSFields} </td> 
    <td> 
      <select className="selectpicker"> 
      <option value="">Select Value</option> 
      {this.headers.map(function (headers) { 
       return (
       <option key={headers}>{headers}</option> 
      ); 
      })} 
      </select> 
     </td> 
     </tr> 
    ) 
    }) 
} 
+3

使用方向的功能在兩個地圖功能'this.POSFields .map((posFields,POSFieldsId)=> {' – Andrew

+0

這似乎是第二張地圖內部未定義的。是否嘗試更改傳遞給箭頭函數的地圖方法的函數? – xpander001

+0

好的,我是晚:) :) – xpander001

回答

2

像@Andrew已經建議,你應該使用arrow功能,以便能夠在地圖中訪問this。您目前寬鬆this

{ 
    this.POSFields.map((posFields, POSFieldsId) => { 
    return (
     <tr> 
     <td className="posheader" key={POSFieldsId} value={posFields.POSFieldsId} 
      {posFields.POSFields} </td> 
    <td> 
      <select className="selectpicker"> 
      <option value="">Select Value</option> 
      {this.headers.map((headers) => { 
       return (
       <option key={headers}>{headers}</option> 
      ); 
      })} 
      </select> 
     </td> 
     </tr> 
    ) 
    }) 
} 
+0

只是我嘗試使用箭頭fucntion正如你所說,現在它的投影圖undefined – sowmyasree

+0

你有沒有評估過,'POSFields'是一個數組?你如何聲明你的功能?你綁定了你的功能嗎? – Nocebo

+0

你是否像這樣聲明瞭你的函數:'myFunction =()=> {..}'? – Nocebo

3

綁定地圖功能的情況下能夠獲得this方面:

{ 
    this.POSFields.map(function (posFields, POSFieldsId) { 
    return (
     <tr> 
     <td className="posheader" key={POSFieldsId} value={posFields.POSFieldsId} 
      {posFields.POSFields} </td> 
    <td> 
      <select className="selectpicker"> 
      <option value="">Select Value</option> 
      {this.headers.map(function (headers) { 
       return (
       <option key={headers}>{headers}</option> 
      ); 
      })} 
      </select> 
     </td> 
     </tr> 
    ) 
    }.bind(this)) 
} 

或箭頭功能this.POSFields.map((posFields, POSFieldsId) => {