簡體   English   中英

如何在 React 中的 Select 標簽中設置初始值

[英]How to set initial value in Select tag in React

有一個Select標簽,我想為其設置一個初始值並將該初始值設置為變量name ,即 select 標簽:

<Field
  name="data.account"
  render={({ field: { name, ...restFieldProps } }) => (
    <Column>
      <Select
        {...restFieldProps}
        value={pl =>
          setFieldValue(name, pl)
        }
        onChange={value => setFieldValue(name, value)}
        placeholder={pl}
        width={300}
        disabled={false}
      >
        <SelectOption value="k1" label="v1" />;
        <SelectOption value="k2" label="v2" />;
      </Select>

    </Column>
  )}
/> 

問題是,每當我從下拉列表中選擇某些內容時,變量都會被初始化,但不會被初始化。

基本上,當我從下拉列表中選擇某些內容時,會調用onChange並設置值,但是當我不單擊下拉列表時,它不會被設置,以處理我在Select 中寫入的value選項標簽,但它不起作用。

任何人都可以建議這個 Select 標簽可能有什么問題嗎?

(注意:pl 是一個具有正確值的變量,通過在占位符中添加它來驗證)

據我所知,您必須像這樣在 SelectOption 中編寫選定的選項,

<Field
  name="data.account"
  render={({ field: { name, ...restFieldProps } }) => (
    <Column>
      <Select
        {...restFieldProps}
        value={pl =>
          setFieldValue(name, pl)
        }
        onChange={value => setFieldValue(name, value)}
        placeholder={pl}
        width={300}
        disabled={false}
      >
        <SelectOption value="k1" label="v1"  selected={true}/>;
        <SelectOption value="k2" label="v2" />;
      </Select>

    </Column>
  )}
/>

哦,我明白了,你的意思是這樣?

something.map(item => 
const isSelected = item === initialValue;
return   <SelectOption value="k1" label="v1"  selected={isSelected}/>;
})

或者

something.map(item => 
const isSelected = item === fieldValuee;
return   <SelectOption value="k1" label="v1"  selected={isSelected}/>;
})

暫無
暫無

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

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