我有一个ReactJS HTML表格组件,并使用setState
方法更新了它的内容(单元格值)。这是基本代码:
var Cell = React.createClass({
render: function () {
return (<td>{this.props.cellValue}</td>);
}
});
var Row = React.createClass({
render: function () {
return (<tr>{this.props.row}</tr>);
}
});
var Table = React.createClass({
getInitialState: function() {
return {
data: this.props.data
};
},
render: function () {
return (
<table>
{
this.state.data.map(function(row) {
var r = row.map(function(cell) {
return <Cell cellValue={cell}/>;
});
return (<Row row={r}/>);
})
}
</table>
);
}});
您可以这样使用它:
var initialData = [[1,2,3],[4,5,6],[7,8,9]];
var table = React.renderComponent(
<Table data={initialData} />,
document.getElementById('table')
);
大部分时间都在工作。我可以通过执行以下操作来更改数据(在函数中的某处):
var newData = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]];
table.setState({data : newData});
如您所见,它将在表的末尾添加一行。但是,如果我尝试在此更新后设置初始数据,或者以任何方式通过设置为较小的数组(例如应删除最后一行)来 缩短
行数:data``[[1, 2, 3], [4, 5, 6]]
table.setState({data : initialData});
我收到此错误:
TypeError:updatedChildren [j]是未定义的updatedChildren [j]
.parentNode.removeChild(updatedChildren [j]);
它从何而来?
一些浏览器(经过Firefox和Chrome测试)会自动将<tbody>...</tbody>
标签添加到没有标签的HTML表中。将它们添加到我的表组件中可以解决此问题:
render: function () {
return (
<table><tbody>
{
... same code as before ...
}
</tbody></table>
);
如果您看一下React生成的html代码,您会注意到它data- reactid
向React组件渲染的所有HTML标签添加了一些数据属性()(有关data属性的更多信息,请参见:此处)。由于<tbody>...</tbody>
html" target="_blank">标签不是来自React组件,因此它们没有任何标签data- reactid
,这些属性有助于React跟踪DOM节点。
无论如何,谢谢那些谈论这个问题的人。这里的链接https://groups.google.com/forum/#!topic/reactjs/NLs-
PdrdDMA
。
有关更多信息data- reactid
:https
:
//groups.google.com/forum/# ! topic/reactjs/ewTN-
WOP1w8。
问题内容: 从视图中删除一行,是否会从创建该视图的基表中删除相应的行?我正在使用MySQL。 问题答案: 是的,它会的。唯一需要注意的是权限。 引用官方文档 有些观点是可更新的。也就是说,您可以在诸如UPDATE,DELETE或INSERT之类的语句中使用它们来更新基础表的内容。为了使视图可更新,视图中的行与基础表中的行之间必须存在一对一的关系。还有某些其他构造会使视图不可更新。
本文向大家介绍从视图中删除行会从MySQL的基表中删除行吗?,包括了从视图中删除行会从MySQL的基表中删除行吗?的使用技巧和注意事项,需要的朋友参考一下 是的,从视图中删除行从基表中删除行。让我们通过创建一个新表来了解这一点。创建表的查询如下 使用insert命令在表中插入一些记录。查询如下- 使用select语句显示表中的所有记录。查询如下- 以下是输出 让我们创建一个视图。创建视图的查询如下
我有一个JTable,其中有一行自定义对象,其中一列是倒计时的时间组件。当倒计时达到0时,该行将自动删除。 我还通过文本框提供了一个过滤选项,用户可以在其中键入文本框,根据数据过滤行。 如果没有应用于JTable的排序器,除了过滤之外,一切都可以正常工作(当时间计数为0时,行会自行删除)。应用排序器会给我一个"java.lang.IndexOutOfBoundsException:无效索引" 我的
问题内容: 我正在尝试使用SQL从连接在一起的多个表中删除多行。 表A连接到表B表B连接到表C 我想删除表B和C中与表A中的一行相对应的所有行 问题答案: 好吧,如果您使用过InnoDB表,则可以使用外键设置级联删除,这将自动完成所有操作。但是,如果您出于某种原因使用MyISAM,则只需使用多表DELETE即可:
问题内容: 假设Oracle 10G中有两个表 TableA中的每一行在TableB中都有与其相关的几个子行。 我想删除TableA中的特定行,这意味着我必须先删除tableB中的相关行。 这将删除子条目 要删除子表中刚刚删除的行的父行,我可以这样做 上面还将删除子表中的行,其中(last_update_Dtm = sysdate-30)为false。TableA没有last_update_dtm
我已经按照较新的SDK的建议实现了批量删除。创建了要删除每个项目的任务列表,然后等待所有任务。我的 CosmosClient 配置了 BulkOperations = true。据我所知,这意味着在引擎盖下,新的SDK发挥了魔力并执行批量操作。 不幸的是,我遇到了429响应状态。这意味着我的多个请求达到了请求速率限制(它很低,仅限于开发层,但不限于此)。我想知道,一个批量操作怎么会导致429错误。