Fix :: Additional button is getting added in Button Group component by changing value in labels (#6038)

* fix :: label bug in button group

* code improvement

* fix :: key for map in btn group
This commit is contained in:
Kiran Ashok 2023-05-10 11:37:48 +05:30 committed by GitHub
parent 76bd934b60
commit 98eb21110d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -34,20 +34,20 @@ export const ButtonGroup = function Button({
};
const [defaultActive, setDefaultActive] = useState(defaultSelected);
const [data, setData] = useState(
// eslint-disable-next-line no-unsafe-optional-chaining
values?.length <= labels?.length ? [...labels, ...values?.slice(labels?.length)] : labels
);
// data is used as state to show what to display , club of label+values / values
const [data, setData] = useState(values);
useEffect(() => {
setDefaultActive(defaultSelected);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [JSON.stringify(defaultSelected)]);
useEffect(() => {
let dataset = values;
if (labels?.length < values?.length) {
// eslint-disable-next-line no-unsafe-optional-chaining
setData([...labels, ...values?.slice(labels?.length)]);
labels.map((item, index) => {
dataset[index] = item;
});
setData(dataset);
} else {
setData(labels);
}
@ -95,7 +95,7 @@ export const ButtonGroup = function Button({
color: defaultActive?.includes(values[index]) ? selectedTextColor : textColor,
transition: 'all .1s ease',
}}
key={item}
key={index}
disabled={disabledState}
className={'group-button overflow-hidden'}
onClick={(event) => {