如何手动更改组件的节点属性?

时间:2017-08-28 17:02:18

标签: javascript reactjs jestjs enzyme

出于测试目的,我需要以编程方式更改输入字段中的光标位置(或者仅以某种方式模拟selectionStart属性)。我注意到当我得到节点元素时,我可以访问它的DOM方法,如setSelectionRange,setAttribute等。但是当我这样做时:

<div class="container">
  <div class="row">
    <form class="form-inline">
      <input type="text" class="form-control" id="exampleInput1" placeholder="">
      <span>-</span>
      <input type="text" class="form-control" id="exampleInput2" placeholder="">
      <span>-</span>
      <input type="text" class="form-control" id="exampleInput3" placeholder="">
    </form>
  </div>
</div> 

触发了setSelectionRange,但没有任何效果。

为什么它不起作用?还有其他方法可以更改let component = mount(<Form/>); expect(component.find('#postbackURL').node.selectionStart).toBe(0); // true component.find('#postbackURL').node.setSelectionRange(2, 2); expect(component.find('#postbackURL').node.selectionStart).toBe(2); // false, still 0 属性吗?

0 个答案:

没有答案