繁体   English   中英

如何在 reactjs 中获取下拉输入的默认值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM