Select
The select component wraps around HTML select and option. Here is how to use it:
using OptionType = Nui::Components::SelectOptions<int>;
Nui::Observed<std::vector<OptionType>> options = {
OptionType{.label = "First", .value = 3},
OptionType{.label = "Second", .value = 78},
};
using namespace Nui::Attributes;
const auto ui = Select({
.model = options,
.preSelectedIndex = 0, // pre select first element
.onSelect = [](long long index, OptionType const& option) {
std::cout << "Selected [" << index << "]: " << option.label << " = " << option.value << "\n";
}
.selectAttributes = {
id = "mySelect"
}
})
Renders to:
<select id="mySelect" onSelect=...>
<option value=3 selected>First</option>
<option value=78>Second</option>
</select>