Commit ce7b39c204d3a496d695bc9a49d7c8c6ade33f30
1 parent
679b2a2b
fixed #3596
Showing
2 changed files
with
7 additions
and
4 deletions
Show diff stats
src/components/grid/row.vue
| @@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
| 4 | </div> | 4 | </div> |
| 5 | </template> | 5 | </template> |
| 6 | <script> | 6 | <script> |
| 7 | - import { oneOf, findComponentsDownward } from '../../utils/assist'; | 7 | + import { oneOf, findComponentDownward, findBrothersComponents } from '../../utils/assist'; |
| 8 | 8 | ||
| 9 | const prefixCls = 'ivu-row'; | 9 | const prefixCls = 'ivu-row'; |
| 10 | 10 | ||
| @@ -58,7 +58,10 @@ | @@ -58,7 +58,10 @@ | ||
| 58 | }, | 58 | }, |
| 59 | methods: { | 59 | methods: { |
| 60 | updateGutter (val) { | 60 | updateGutter (val) { |
| 61 | - const Cols = findComponentsDownward(this, 'iCol'); | 61 | + // 这里会嵌套寻找,把 Col 里的 Row 里的 Col 也找到,所以用 兄弟找 |
| 62 | +// const Cols = findComponentsDownward(this, 'iCol'); | ||
| 63 | + const Col = findComponentDownward(this, 'iCol'); | ||
| 64 | + const Cols = findBrothersComponents(Col, 'iCol', false); | ||
| 62 | if (Cols.length) { | 65 | if (Cols.length) { |
| 63 | Cols.forEach((child) => { | 66 | Cols.forEach((child) => { |
| 64 | if (val !== 0) { | 67 | if (val !== 0) { |
src/utils/assist.js
| @@ -230,12 +230,12 @@ export function findComponentsUpward (context, componentName) { | @@ -230,12 +230,12 @@ export function findComponentsUpward (context, componentName) { | ||
| 230 | } | 230 | } |
| 231 | 231 | ||
| 232 | // Find brothers components | 232 | // Find brothers components |
| 233 | -export function findBrothersComponents (context, componentName) { | 233 | +export function findBrothersComponents (context, componentName, exceptMe = true) { |
| 234 | let res = context.$parent.$children.filter(item => { | 234 | let res = context.$parent.$children.filter(item => { |
| 235 | return item.$options.name === componentName; | 235 | return item.$options.name === componentName; |
| 236 | }); | 236 | }); |
| 237 | let index = res.indexOf(context); | 237 | let index = res.indexOf(context); |
| 238 | - res.splice(index, 1); | 238 | + if (exceptMe) res.splice(index, 1); |
| 239 | return res; | 239 | return res; |
| 240 | } | 240 | } |
| 241 | 241 |