Skip to content

Commit 3ae76c0

Browse files
committed
add deep equal
1 parent 7a0c04a commit 3ae76c0

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

package-lock.json

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"homepage": "https://github.com/weui/react-weui",
3535
"dependencies": {
3636
"babel-runtime": "^6.18.0",
37+
"fast-deep-equal": "^1.0.0",
3738
"prop-types": "^15.5.10",
3839
"react": "^16.2.0",
3940
"react-dom": "^16.2.0",

src/components/picker/cascade_picker.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
33
import GroupPicker from './group_picker';
4+
import equal from 'fast-deep-equal';
45

56

67
class CascadePicker extends React.Component {
@@ -45,11 +46,13 @@ class CascadePicker extends React.Component {
4546
}
4647

4748
componentWillReceiveProps(nextProps){
48-
const { columns, newSelectIndexs } = this.parseData(nextProps.selectIndexs, nextProps);
49-
this.setState({
50-
columns,
51-
selectIndexs: newSelectIndexs,
52-
});
49+
if(!equal(this.props.data, nextProps.data)) {
50+
const { columns, newSelectIndexs } = this.parseData(nextProps.selectIndexs, nextProps);
51+
this.setState({
52+
columns,
53+
selectIndexs: newSelectIndexs,
54+
});
55+
}
5356
}
5457

5558
parseData(selectIndexs = [], props){

0 commit comments

Comments
 (0)