简体   繁体   English

在动态创建的选择框顶部插入一个空的选项框

[英]Inserting an empty option box at the top of dynamically created select box

I am using Select Box from antd . 我正在使用antd中的Select Box In the following snippet, I dynamically create the Option in the select box and return to be part of the array named analyticalMethodtOptions . 在以下代码段中,我将在选择框中动态创建Option ,然后返回属于名为analyticalMethodtOptions的数组。

let analyticalMethodtOptions =
  analyticalMethods &&
  analyticalMethods.map((aM, i) => (
    <Option key={i} value={aM.id}>
      {aM.name}
    </Option>
  ));

Now, I also want to add an empty Option bar at the top that does not have any value and set that to default. 现在,我还想在顶部添加一个没有任何值的空Option栏,并将其设置为默认值。 How could I do this? 我该怎么办?

I want to insert an empty option bar like: 我想插入一个空的选项栏,例如:

<Option value=""></Option>

at the top of analyticalMethodtOptions so that the empty item is available at the top of select box. analyticalMethodtOptions的顶部,以便在选择框的顶部可以使用空项目。

I am using it later to render the select box as: 我稍后使用它来将选择框呈现为:

  <Select
            placeholder="Select the Analytical Method"
            showSearch={true}
            filterOption={selectSearchFilter}
            defaultValue=""
          >
            {analyticalMethodtOptions}
   </Select>

Declare an array and push one entry with empty value. 声明一个数组并推送一个带有空值的条目。

var selectOptions = []; var selectOptions = []; selectOptions.push({ id: 'default', name: '' }); selectOptions.push({id:'default',名称:''});

And copy the entries of analyticalMethodtOptions to above declared array "selectOptions" 然后将analyticMethodtOptions的条目复制到上面声明的数组“ selectOptions”中

selectOptions = selectOptions.concat(analyticalMethods);

Then 然后

selectOptions = selectOptions.map((aM, i) => (
            <Option key={i} value={aM.id}>
                {aM.name}
            </Option>
        ));

Then in render 然后在渲染

<Select>
    {selectOptions}
</Select>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM