Comments (5)
@leMaik, I found this bug too π
class DoubleChipApp extends React.Component {
constructor(props) {
super(props);
this.state = {
tags: []
};
}
handleRequestAdd(chip) {
console.log('added chip', chip)
const addToEnd = function (array, item) {
array.push(item);
return array;
};
this.setState((prevState, props) => ({
tags: addToEnd(prevState.tags, chip)
}));
return true;
}
handleRequestDelete(chip) {
this.setState((prevState, props) => ({
tags: prevState.tags.filter((tag) => tag !== chip)
}));
return true;
}
render() {
return (
<MuiThemeProvider>
<ChipInput value={this.state.tags}
openOnFocus
dataSource={['one', 'two']}
onRequestAdd={this.handleRequestAdd.bind(this)}
onRequestDelete={this.handleRequestDelete.bind(this)}
/>
</MuiThemeProvider>
)
};
}
ReactDOM.render(
<DoubleChipApp />,
document.getElementById('app'),
);
from material-ui-chip-input.
I'm afraid I can't reproduce this bug. Could you please provide code that reproduces the bug?
from material-ui-chip-input.
I'll fix this later, thanks for the example! π
from material-ui-chip-input.
Fixed it, will release soon. π
@sever2715 You are mutating the state in handleRequestAdd
by using push
, which modifies the array. You should better create a new array that has the new chip added, e.g. with [...array, item]
. That way, you would work around the bug because calling handleRequestAdd
wouldn't have any side-effects. π
from material-ui-chip-input.
@leMaik thank you for your advice, but I already used another hack(my app is async - therefore it is necessary to consider the previous state).
from material-ui-chip-input.
Related Issues (20)
- On Android Mobile: newChipKeys not working HOT 1
- dataSource is not working HOT 1
- Update storybook examples
- How to add date/datetime values as chips?
- Can I add icon to input field like in TextField by using Input Adornments?
- Label positioning on "outlined" variant is incorrect.
- Dependency version mismatch error: Unable to install this module HOT 12
- Dependency error with material-ui/core v5 HOT 3
- Make chips editable in the same place HOT 1
- "future" compatibility issue HOT 1
- Module not found HOT 1
- Make ChipInput a required field in a form HOT 1
- Chip note adding using space bar HOT 1
- MUI v5 HOT 1
- Please add React 17 support HOT 7
- Is there a way to change OnBlur so that focusing and then clicking on a chip doesn't trigger it?
- Submit button not working after update the Android system WebView in android device.
- Performance issue with pasting 100+ items in chip input. Cannot add more chips and DOM freezes
- Should ChipInput component be wrapped by Form tag ?
- unable to install in react 18v HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from material-ui-chip-input.