[英]How to get default value of dropdown input in reactjs
我正在尝试获取下拉输入字段的默认值,因为我将它用于添加和更新。 下面是我的代码
<BrInput
type="select"
name="altPayableInd"
id="altPayableInd"
options={altPayableIndOpt}
default={payableResp.payable[index] && payableResp.payable[index].altPayableInd.value && this.setDefaultValue(payableResp.payable[index] && payableResp.payable[index].altPayableInd.value, altPayableIndOpt)}
/>
setDefaultValue = (value, options) => {
let matchedLabel = options.find(el => el.value === value);
if (value !== "O") {
this.setState({ viewReason: false })
}
return [{ value, label: matchedLabel.label }]
}
错误:
在现有 state 过渡期间无法更新(例如在
render
中)。 渲染方法应该是纯 function 的 props 和 state。
理想情况下,当您在render
中设置prop
值时,您应该只使用get
方法。
在setDefaultValue
您正在使用setState
,它变得无效,这就是您的错误所说的。 您必须将此移至其他逻辑。 要使其按原样工作,请按以下方式使用:(此处对代码进行了注释,只是为了显示错误部分,您可以将其删除)
setDefaultValue = (value, options) => {
let matchedLabel = options.find(el => el.value === value);
// if (value !== "O") {
// this.setState({ viewReason: false }) // you can't use setState in render
// }
return [{ value, label: matchedLabel.label }]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.