Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在reactjs中呈现特定div中的元素?_Reactjs - Fatal编程技术网

如何在reactjs中呈现特定div中的元素?

如何在reactjs中呈现特定div中的元素?,reactjs,Reactjs,我有一个下拉列表 <ul> <li id="list_1"> <select> <option>---</option> <option>1</option> <option>2</option> <option>3</option> </select> </li>

我有一个下拉列表

<ul>
  <li id="list_1">
    <select>
      <option>---</option>
      <option>1</option>
      <option>2</option>
      <option>3</option>
    </select>
  </li>
  <li id="list_2">
    <select>
      <option>---</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
    </select>
  </li>
</ul>
在从下拉列表中选择选项时,我呈现了一个绑定了onClick方法的span元素和一个div元素,如下所示

<ul>
  <li id="list_1">
    <select>
     <option>---</option>
      <option>1</option>
      <option>2</option>
      <option>3</option>
    </select>
    <span onClick={this.getDropdown}> (+) </span>
    <div></div>
  </li>
  <li id="list_2">
    <select>
      <option>---</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
    </select>
    <span onClick={this.getDropdown}> (+) </span>
    <div></div>
  </li>
</ul>
结果1: 如果从第一个下拉列表中选择了值为1的选项,并从id=list_1的li元素中单击了+,则我必须获得如下所示的结果

<ul>
  <li id="list_1">
    <select>
     <option>---</option>
      <option>1</option>
      <option>2</option>
      <option>3</option>
    </select>
    <span onClick={this.getDropdown}> (+) </span>
    <div></div>
  </li>
  <li id="list_2">
    <select>
      <option>---</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
    </select>
    <span onClick={this.getDropdown}> (+) </span>
    <div></div>
  </li>
</ul>
结果2: 如果从第二个下拉列表中选择了值为5的选项,并从id=list_2的li元素中单击了+,则我必须获得如下所示的结果

<ul>
  <li id="list_1">
    <select>
     <option>---</option>
      <option>1</option>
      <option>2</option>
      <option>3</option>
    </select>
    <span onClick={this.getDropdown}> (+) </span>
    <div></div>
  </li>
  <li id="list_2">
    <select>
      <option>---</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
    </select>
    <span onClick={this.getDropdown}> (+) </span>
    <div></div>
  </li>
</ul>
注意:添加的li id值仅供参考。li元素没有id

问题是,当呈现组件时,我们必须明确提到的是必须呈现的元素。如ReactDOM.render、document.getElementByIdcontainer。这里呈现下拉列表的组件没有任何id。因此,如果我向添加id,下拉列表将被覆盖


您可以从下拉列表中获取值,并基于该值返回不同的视图,如:

render: function(){
  this.state.dropdown? return(//render with no dropdown) : return(//render with dropdown.)
}

那么,在您的代码中,哪一部分起作用,哪一部分不起作用?您希望在用户每次按+?生成的select中的值是否始终为A和B?您需要更好地解释。@Chris问题是,当呈现我们必须明确提及的组件时,必须呈现元素。如ReactDOM.render、document.getElementByIdcontainer。这里呈现下拉列表的组件没有任何id。因此,如果我向组件添加id,下拉列表将被覆盖