簡體   English   中英

如何在選擇器級別和React Native的值中存儲js對象?

[英]How to store js object inside picker level and value of react native?

{
  1: "4 feet",
  2: "4 feet 1 inches",
  3: "4 feet 2 inches",
  4: "4 feet 3 inches",
  5: "4 feet 4 inches",
  6: "4 feet 5 inches",
  7: "4 feet 6 inches",
  8: "4 feet 7 inches",
  9: "4 feet 8 inches",
  10: "4 feet 9 inches",
  11: "4 feet 10 inches",
  12: "4 feet 11 inches",
  13: "5 feet",
  14: "5 feet 1 inches",
  15: "5 feet 2 inches",
  16: "5 feet 3 inches",
  17: "5 feet 4 inches",
  18: "5 feet 5 inches",
  19: "5 feet 6 inches",
  20: "5 feet 7 inches",
  21: "5 feet 8 inches",
  22: "5 feet 9 inches",
  23: "5 feet 10 inches",
  24: "5 feet 11 inches",
  25: "6 feet ",
  26: "6 feet  1 inches",
  27: "6 feet  2 inches",
  28: "6 feet  3 inches",
  29: "6 feet  4 inches",
  30: "6 feet  5 inches",
  31: "6 feet  6 inches",
  32: "6 feet  7 inches",
  33: "6 feet  8 inches",
  34: "6 feet  9 inches",
  35: "6 feet  10 inches",
  36: "6 feet  11 inches",
  37: "7 feet  "
}

這是我想在響應本機選擇器中存儲此值的js對象。

<Picker
    selectedValue = { this.state.result }
    style = {{ height: 26, width: 70, color: "black" }}
    onValueChange = {(itemValue, itemIndex) => this.setState({ gen: itemValue })}
>
    { this.state.arr && this.state.arr.map(value => (<Picker.Item label={value} value={value} />)) } 
</Picker >

我在運行時嘗試使用此代碼將此對象轉換為數組或簡單對象的兩種方式,然后應用程序自動關閉,並且錯誤顯示選擇器值應為字符串,而不是數組。 請提供一些想法,如何在選擇器中動態存儲此值。

您首先需要將對象轉換為數組。 使用object.entries會將您的對象轉換為可迭代的數組,並一一發送每個鍵和值:

{this.state.arr && Object.entries(this.state.arr).map(([key, value]) => (<Picker.Item label={value} value={key} key={key} />)) }

映射組件時不要忘記在組件上放置key道具

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM