В общем, React Bootstrap позволяет мне использовать различные типы FormControls
следующим образом:
// Input field
<FormControl
type="text"
placeholder="Placeholder text"
value={this.props.value}
inputRef={(ref) => this.inputfield = ref}
/>
// Dropdown menu
<FormControl componentClass="select"
defaultValue={this.props.someId}
inputRef={(ref) => this.dropdownmenu = ref}
>
<option key='firstoption' value={0}>Select Options</option>
{this.props.options.map((o) =>
<option key={o.id} value={o.id}>{o.description}</option>
)}
</FormControl>
Однако, теперь скажем, что я хочу добавить «тег» внутри текстового поля и для некоторых опцийвыпадающего меню.
Я включил картинку, чтобы показать вам, что я имею в виду.
Я хочу, чтобы синее поле показывало имя определенного тега в поле ввода, и если кто-то печатает его, они вводят справа от тега, а не под нимили поверх него.
В том же духе я хочу, чтобы тег отображался в раскрывающемся меню (показано в развернутом виде и как это будет при выборе).
Кто-нибудь знает, какчтобы достичь этого?
Единственное, что я попробовал, это:
import React from 'react';
export class TagComponent extends React.Component {
render() {
return (
<span className="somecss">Some Tag</span>
);
}
}
-------------------------
// Input field
<FormControl
type="text"
placeholder={this.props.ifTagExists && <TagComponent /> && "Placeholder Text"}
value={this.props.ifTagExists && <TagComponent /> && this.props.value}
inputRef={(ref) => this.inputfield = ref}
/>
// Dropdown menu
<FormControl componentClass="select"
defaultValue={this.props.someId}
inputRef={(ref) => this.dropdownmenu = ref}
>
<option key='firstoption' value={0}>Select Options</option>
{this.props.options.map((o) =>
<option key={o.id} value={o.id}>{o.ifTagExists && <TagComponent />} {o.description}</option>
)}
</FormControl>
Попробовал это, и он не рендерил компонент тега.Любая помощь будет принята с благодарностью.