2017-08-22 95 views
3

我想在我的表格中添加一个<input>元素,更具体地说是一个复选框。以下作品:<input>不能作为孩子出现<tr>

<tbody key={rule._id}> 
    <tr> 
    <td>{rule.deviceId}</td> 
    { 
     <input 
     name="isEnabled" 
     type="checkbox" 
     checked={rule.enabled} 
     /> 
    } 
    <td>{rule.name}</td> 
    </tr> 
</tbody> 

,但它产生在控制台中的错误:<input> cannot appear as a child of <tr>

是否有一个“正确”的方式做到这一点?

+0

啊,把它里面​​ –

+0

我想你错过了一个'​​'对。你需要将你的'input'包装成一个 – Fotis

+0

请参阅[here](https://stackoverflow.com/questions/5967564/form-inside-a-table) – Arkej

回答

1

tr只能包含td。可能是你可以将你的input换成td

<tbody key={rule._id}> 
    <tr> 
    <td>{rule.deviceId}</td> 
    <td> 
     <input 
     name="isEnabled" 
     type="checkbox" 
     checked={rule.enabled} 
     /> 
    </td> 
    <td>{rule.name}</td> 
    </tr> 
</tbody> 
0

你必须把它放在一个<td>元素,你可以添加样式到<td> DOM。

1

你错过了一个<td>对。 {}也不是必需的。应该是这样的

<tbody key={rule._id}> 
    <tr> 
    <td>{rule.deviceId}</td> 
    <td> 
     <input 
     name="isEnabled" 
     type="checkbox" 
     checked={rule.enabled} /> 
    </td> 
    <td>{rule.name}</td> 
    </tr> 
</tbody> 
相关问题