Dropdown
link - developer.microsoft.com/en-us/fluentui#/controls/web/dropdown
This control provides a list in which the selected item is always visible while other items are visible on demand by clicking a drop-down button.
selectedKey - controlled
defaultSelectedKey - not controlled
codepen.io/dzearing/pen/YpVbYY
import * as React from 'react';
import { Dropdown, DropdownMenuItemType } from 'office-ui-fabric-react/lib/Dropdown';
import { DayOfWeek } from 'office-ui-fabric-react/lib/DatePicker';
export class DropdownBasicExample extends React.Component<any, any> {
constructor(props) {
super(props);
this.state = {
value: null,
selectedItem: null,
firstDayOfWeek: DayOfWeek.Monday
};
}
_onDropdownChanged(event) {
var newValue = event.key;
this.setState( { selectedItem: newValue} );
console.log(newValue);
}
render() {
let { selectedItem } = this.state;
let { firstDayOfWeek, value } = this.state;
return (
<div className='dropdownExample'>
<Dropdown
label='Select the first day of the week'
defaultSelectedKey={ DayOfWeek[firstDayOfWeek] }
options={ [ { text: 'Monday', key: DayOfWeek[DayOfWeek.Monday] },
{ text: 'Tuesday', key: DayOfWeek[DayOfWeek.Tuesday] },
{ text: 'Wednesday', key: DayOfWeek[DayOfWeek.Wednesday] },
{ text: 'Thursday', key: DayOfWeek[DayOfWeek.Thursday] },
{ text: 'Friday', key: DayOfWeek[DayOfWeek.Friday] },
{ text: 'Saturday', key: DayOfWeek[DayOfWeek.Saturday] },
{ text: 'Sunday', key: DayOfWeek[DayOfWeek.Sunday] }
]
}
onChanged={ this._onDropdownChanged.bind(this) }
/>
<Dropdown
id='Basicdrop1'
placeHolder='Select an Option'
label='Basic uncontrolled example:'
ariaLabel='Basic dropdown example'
options={
[
{ key: 'Header', text: 'Actions', itemType: DropdownMenuItemType.Header },
{ key: 'A', text: 'Option a' },
{ key: 'B', text: 'Option b' },
{ key: 'C', text: 'Option c' },
{ key: 'D', text: 'Option d' },
{ key: 'E', text: 'Option e' },
{ key: 'divider_2', text: '-', itemType: DropdownMenuItemType.Divider },
{ key: 'Header2', text: 'People', itemType: DropdownMenuItemType.Header },
{ key: 'F', text: 'Option f' },
{ key: 'G', text: 'Option g' },
{ key: 'H', text: 'Option h' },
{ key: 'I', text: 'Option i' },
{ key: 'J', text: 'Option j' },
]
}
/>
<Dropdown
label='Disabled uncontrolled example with defaultSelectedKey:'
defaultSelectedKey='D'
disabled={ true }
options={
[
{ key: 'A', text: 'Option a' },
{ key: 'B', text: 'Option b' },
{ key: 'C', text: 'Option c' },
{ key: 'D', text: 'Option d' },
{ key: 'E', text: 'Option e' },
{ key: 'F', text: 'Option f' },
{ key: 'G', text: 'Option g' },
]
}
/>
<Dropdown
label='Controlled example:'
selectedKey={ selectedItem && selectedItem.key }
options={
[
{ key: 'A', text: 'Option a' },
{ key: 'B', text: 'Option b' },
{ key: 'C', text: 'Option c' },
{ key: 'D', text: 'Option d' },
{ key: 'divider_1', text: '-', itemType: DropdownMenuItemType.Divider },
{ key: 'E', text: 'Option e' },
{ key: 'F', text: 'Option f' },
{ key: 'G', text: 'Option g' },
]
}
onChanged={ (item) => this.setState({ selectedItem: item }) }
/>
</div>
);
}
makeList(items: any) {
let list = [];
for (let i = 0; i < items; i++) {
list.push({ key: i, text: 'Option ' + i });
}
return list;
}
}
© 2024 Better Solutions Limited. All Rights Reserved. © 2024 Better Solutions Limited TopPrevNext