Skip to content

Commit 1ef5a7d

Browse files
Prevent Modern tax picker default onChange with empty values
1 parent 739a62b commit 1ef5a7d

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/controls/modernTaxonomyPicker/ModernTaxonomyPicker.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ export interface IModernTaxonomyPickerProps {
6868
export function ModernTaxonomyPicker(props: IModernTaxonomyPickerProps) {
6969
const taxonomyService = new SPTaxonomyService(props.context);
7070
const [panelIsOpen, setPanelIsOpen] = React.useState(false);
71+
const initialLoadComplete = React.useRef(false);
7172
const [selectedOptions, setSelectedOptions] = React.useState<ITermInfo[]>([]);
7273
const [selectedPanelOptions, setSelectedPanelOptions] = React.useState<ITermInfo[]>([]);
7374
const [currentTermStoreInfo, setCurrentTermStoreInfo] = React.useState<ITermStoreInfo>();
@@ -87,6 +88,7 @@ export function ModernTaxonomyPicker(props: IModernTaxonomyPickerProps) {
8788
setSelectedOptions(Array.isArray(props.initialValues) ?
8889
props.initialValues.map(term => { return { ...term, languageTag: languageTag, termStoreInfo: termStoreInfo } as ITermInfo; }) :
8990
[]);
91+
initialLoadComplete.current = true;
9092
});
9193
taxonomyService.getTermSetInfo(Guid.parse(props.termSetId))
9294
.then((termSetInfo) => {
@@ -101,7 +103,7 @@ export function ModernTaxonomyPicker(props: IModernTaxonomyPickerProps) {
101103
}, []);
102104

103105
React.useEffect(() => {
104-
if (props.onChange) {
106+
if (props.onChange && initialLoadComplete.current) {
105107
props.onChange(selectedOptions);
106108
}
107109
}, [selectedOptions]);

0 commit comments

Comments
 (0)