我构造了包装器:
this.wrapper = mount(<App />, { context: this.store });
然后我尝试通过其id:
找到某个HTML元素console.log("WRAPPER:", this.wrapper.debug());
return this.wrapper.find('#Form-input[0]-fields-field1');
包装器无法找到此元素。 console.log的输出如下:
WRAPPER:
<Many children/components down...>
<input name="Form-input[0].fields.field1" onBlur={[Function]} onChange={[Function]} onDragStart={[Function]} onDrop={[Function]} onFocus={[Function]} value="asdf" type="text" id="Form-input[0]-fields-field1" disabled={false} />
<Many more things after this...>
所以具有正确id的输入肯定存在。我错过了什么吗?
答案 0 :(得分:2)
您似乎正在使用ID选择器#Form-input[0]-fields-field1
,但我认为[
和]
对CSS IDs无效,也许您可以按名称搜索输入,input[name="Form-input[0]-fields-field1"]
有用吗?如果我错了,方括号实际上没问题,你可能仍然需要在查询中转义它们!