我想知道在键盘命令上完成文本插入后如何更改 Draft.js 中的光标位置。因此,我目前正在使用_handleKeyCommand(cmd)每当用户按下特定按钮时插入自定义文本块。接下来我尝试了以下操作:
currentState = this.state.editorState;
var selectionState = this.state.editorState.getSelection().getStartKey();
this.setState({editorState: EditorState.forceSelection(currentState, selectionState)});
Run Code Online (Sandbox Code Playgroud)
但这一直崩溃并显示错误消息
类型错误:selection.getHasFocus 不是函数
虽然我进口了SelectionState. 那么如何正确更改光标位置(最好是插入之前的位置)以及我在这里做错了什么?
在编写 ReactJS 组件时,我发现子组件有时会丢失状态。事实证明,如果子组件使用不同的渲染函数渲染,就会发生这种情况。
IE
父组件有 2 个子渲染函数,根据不同的条件,它要么在主体中渲染子组件,要么在标头中渲染子组件。
...
renderInHeader = () => (<Header><ChildComponent /></Header>);
renderInBody = () => (<Body><ChildComponent /><Body>);
render = () => {
if (somethingHappens) {
return this.renderInHeader();
}
return this.renderInBody();
}
...
Run Code Online (Sandbox Code Playgroud)
这意味着,当 时somethingHappens,它将使用不同的渲染函数来渲染ChildComponent.
那么,ChildComponent就会失去它的状态。(子组件的状态被重置)。
我理解为什么会发生这种情况,实际上我有点惊讶孩子的状态没有更频繁地重置(即每次父级重新渲染该节点时重置)。
然而,处理这个问题的理想解决方案是什么?
避免在子组件中使用状态?(因为不能保证安全?)
key=给ChildComponent一个a ,这样在重新渲染的时候就可以把它当作一个独立的节点了?(不确定是否key可以在映射器之外工作)
使用ref?(不知道是否可以这样工作)
使用 React 16 中的新“Portal”?(还没试过)
注意:我知道我可以使用变量 forHeader和Body,所以只需要一个渲染函数。然而,现实世界的情况可能更复杂,可能有多个子组件分布在不同的区域。
IE
...
renderInBody = () => (
<Body>
<Header>
<ChildComponent1 />
<ChildComponent2 />
</Header>
<ChildComponent3 …Run Code Online (Sandbox Code Playgroud) 我正在研究Angular 4项目.我需要检测表单控件数组的更改.例如,我有一个名为providers的表单控件数组,如何检测其更改?
export class CustomFormArray {
public form: FormGroup;
constructor(private _fb: FormBuilder) {
this.form = _fb.group({
providers: _fb.array([])
});
}
}
Run Code Online (Sandbox Code Playgroud) 在amCharts柱形图中,当用户缩小浏览器宽度时,类别轴上的标签会被交替隐藏.

请在注释中引用JSFiddle(当向内拖动JSFiddle输出框时,amCharts开始在类别轴上隐藏替代标签,如上面的屏幕截图所示).
如何禁用类别轴上标签的自动隐藏?当用户缩小浏览器大小时,要求是缩小图表(不隐藏任何标签).当您添加超过特定计数的更多列时,会发生此问题.
如何使用Python 将JSON数据从input.json转换为output.json?通常,什么数据结构用于过滤JSON数据?
文件:input.json
[
{
"id":1,
"a":22,
"b":11
},
{
"id":1,
"e":44,
"c":77,
"f":55,
"d":66
},
{
"id":3,
"b":11,
"a":22
},
{
"id":3,
"d":44,
"c":88
}
]
Run Code Online (Sandbox Code Playgroud)
文件:output.json
[
{
"id":1,
"a":22,
"b":11,
"e":44,
"c":77,
"f":55,
"d":66
},
{
"id":3,
"b":11,
"a":22,
"d":44,
"c":88
}
]
Run Code Online (Sandbox Code Playgroud)
任何指针将不胜感激!
chart.columnSpacing属性不适用于简单列图表.我需要最小化两列之间的空间.
如何最小化简单柱形图中列之间的空间?
我想制作一个恶意软件分析软件,我必须将代码注入到进程的不同kernel32函数中,比如Sleep来覆盖恶意软件尝试进行的任何睡眠,ExitProcess在获取进程被杀死之前转储内存等
我尝试启动该进程暂停然后我尝试枚举库希望我可以得到kernel32 rva但是当我启动进程暂停时看起来甚至没有加载库.
我想使用jQuery动态删除所有Bootstrap Multiselect选项.我怎么能删除相同的?
代码我尝试过:
$("#userGroupDbKeyAjax2 option").remove();
Run Code Online (Sandbox Code Playgroud)
但它不能在bootstrap多选中工作.
如何为 Json Array 格式创建表 Athena(AWS)?
JSON 格式示例:
{
"Tapes":[
{
"Status":"AVAILABLE",
"Used":0.0,
"Barcode":"TEST1217F7",
"Gateway":"Test_Report",
"UsedGB":0.0,
"Date":"06-11-2017",
"SizeGB":107.0
},
{
"Status":"AVAILABLE",
"Used":0.0,
"Barcode":"TEST1227F7",
"Gateway":"Test_Report",
"UsedGB":0.0,
"Date":"06-11-2017",
"SizeGB":107.0
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想获得下面的输出格式:
在此处输入图像描述
我已尝试根据此网站解决问题,请在 此处输入链接描述