React ComboBox Features
Ignite UI for React ComboBox 구성 요소는 필터링 및 그룹화와 같은 여러 기능을 제공합니다.
Combobox Features Example
다음 데모는 런타임에 사용/사용하지 않도록 설정되는 몇 가지 IgrCombo
기능을 보여줍니다.
이 샘플에서는 구성 요소를 사용할 IgrSwitch
것이므로 콤보와 함께 가져와야 합니다.
import { IgrCombo, IgrSwitch } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/bootstrap.css';
그런 다음 React의 useState 훅을 사용하여 스위치 상태가 변경될 때 업데이트될 변수를 선언합니다. 이렇게 하면 업데이트를 추적하고 그에 따라 콤보 입력에 대한 변경 사항이 반영됩니다.
const [disableFiltering, setDisableFiltering] = useState(false);
const [caseSensitiveIcon, setCaseSensitiveIcon] = useState(false);
const [groupingEnabled, setGroupingEnabled] = useState(false);
const [comboDisabled, setComboDisabled] = useState(false);
<IgrCombo
valueKey="id"
displayKey="name"
label="Cities"
placeholder="Pick a city"
placeholderSearch="Search for a city"
data={Cities}
disableFiltering={disableFiltering}
caseSensitiveIcon={caseSensitiveIcon}
groupKey={groupingEnabled ? "country" : undefined}
disabled={comboDisabled}>
</IgrCombo>
<IgrSwitch checked={disableFiltering} onChange={e => setDisableFiltering(e.detail.checked)}>
<span>Disable Filtering</span>
</IgrSwitch>
<IgrSwitch checked={caseSensitiveIcon} onChange={e => setCaseSensitiveIcon(e.detail.checked)}>
<span>Show Case-sensitive Icon</span>
</IgrSwitch>
<IgrSwitch checked={groupingEnabled} onChange={e => setGroupingEnabled(e.detail.checked)}>
<span>Enable Grouping</span>
</IgrSwitch>
<IgrSwitch checked={comboDisabled} onChange={e => setComboDisabled(e.detail.checked)}>
<span>Disable Combo</span>
</IgrSwitch>
groupKey
속성을 해당 데이터 소스 필드로 설정하여 그룹화를 활성화/비활성화합니다.
groupKey={groupingEnabled ? "country" : undefined}
특징
필터링
기본적으로 ComboBox의 필터링은 활성화되어 있습니다. disableFiltering
속성을 설정하여 비활성화할 수 있습니다.
검색 대소문자 구분을 활성화하면 필터링 옵션이 더욱 향상될 수 있습니다. 최종 사용자가 대소문자 구분을 제어할 수 있도록 caseSensitiveIcon
속성을 사용하여 대소문자 구분 아이콘을 설정할 수 있습니다.
<IgrCombo disableFiltering={true} caseSensitiveIcon={true}></IgrCombo>
필터링 옵션
Ignite UI for React IgrCombo
두 옵션의 CaseSensitive
구성을 전달 FilterKey
할 수 있는 필터링 속성을 하나 더 노출합니다. 옵션 FilterKey
목록을 필터링하는 데 사용해야 하는 데이터 원본 필드를 나타냅니다. CaseSensitive
이 옵션은 필터링이 대/소문자를 구분해야 하는지 여부를 나타냅니다.
다음 코드 조각은 이름 대신 국가별로 데이터 소스의 도시를 필터링하는 방법을 보여줍니다. 또한 기본적으로 필터링에서 대소문자를 구분하도록 설정하고 있습니다.
const options = {
filterKey: 'country',
caseSensitive: true
};
<IgrCombo filteringOptions={options} />
Grouping
groupKey
옵션을 정의하면 제공된 키에 따라 항목이 그룹화됩니다.
<IgrCombo groupKey="region" />
[!Note] The
groupKey
property will only have effect if your data source consists of complex objects.
정렬 방향
ComboBox 구성 요소는 그룹을 오름차순으로 정렬해야 하는지 내림차순으로 정렬해야 하는지 설정하는 옵션도 제공합니다. 기본적으로 정렬 순서는 오름차순입니다.
<IgrCombo groupSorting="desc" />
Label
레이블은 IgrCombo
다음 속성을 사용하여 쉽게 설정할 수 있습니다. label
<IgrCombo label="Cities" />
Placeholder
ComboBox 구성 요소 입력과 드롭다운 메뉴 내에 있는 검색 입력 모두에 대해 자리 표시자 텍스트를 지정할 수 있습니다.
<IgrCombo placeholder="Pick a city" placeholderSearch="Search for a city" />
Autofocus
페이지 로드 시 ComboBox에 자동으로 초점을 맞추려면 다음 코드를 사용할 수 있습니다.
<IgrCombo autofocus={true} />
Search Input Focus
ComboBox 검색 입력은 기본적으로 초점이 맞춰져 있습니다. 이 기능을 비활성화하고 옵션 목록으로 포커스를 이동하려면 아래와 같이 autofocusList
속성을 사용하십시오.
<IgrCombo autofocusList={true} />
Required
필수 속성을 설정하여 ComboBox를 필수로 표시할 수 있습니다.
<IgrCombo required={true} />
Disable ComboBox
disabled
속성을 사용하여 ComboBox를 비활성화할 수 있습니다.
<IgrCombo disabled={true} />