收到错误消息“输入是一个空元素标签,并且既不能具有子元素也不能使用dangerouslySetInnerHTML”

时间:2019-11-08 15:54:54

标签: reactjs

这是我的代码的摘要,出现错误“输入是一个空元素标记,并且既不能使用eventBlockingChild.setOnMousePressed(MouseEvent::consume); 也不能使用children”。我究竟做错了什么?

dangerouslySetInnerHTML

2 个答案:

答案 0 :(得分:0)

input无法呈现子元素。相反,您应该将input包裹在label标记中,并在input上方写上标签。您应该像下面那样重写代码。

 <div className="modal-body">
                <p>{children}</p>
            <label>
             Enter Client Name
             <InputClient>
                <InputText
                    type="text"
                    value={ clientName }
                    onChange={this.handleChangeInputClientName}
             />
             </InputClient>
             </label>
             <label>
             Enter Stock Item
             <InputStockItem>
                <InputText
                        type="text"
                        value={ itemName }
                        onchange={this.handleChangeInputStockItemName}
                />
             </InputStockItem>
           </label>
</div>

还有更多信息here

答案 1 :(得分:0)

我知道了!我不小心声明了InputClient和InputStockItem组件,如下所示:

const InputClient = styled.input.attrs({

})`
    margin: 0px;

`

const InputStockItem = styled.input.attrs({

})`
    margin: 0px;

`

我本来应该是这样一个愚蠢的错误:


const InputClient = styled.div.attrs({

})`
    margin: 0px;

`


const InputStockItem = styled.div.attrs({

})`
    margin: 0px;

`

感谢您的帮助!