Commit 523e2c81fdea4df923238fe1650a09a1640aa037
1 parent
88ef37f5
correct match logic for i-option and Option
Showing
1 changed file
with
3 additions
and
2 deletions
Show diff stats
src/components/select/select.vue
| @@ -80,7 +80,8 @@ | @@ -80,7 +80,8 @@ | ||
| 80 | import FunctionalOptions from './functional-options.vue'; | 80 | import FunctionalOptions from './functional-options.vue'; |
| 81 | 81 | ||
| 82 | const prefixCls = 'ivu-select'; | 82 | const prefixCls = 'ivu-select'; |
| 83 | - const optionGroupRegexp = /option\-?group/i; | 83 | + const optionRegexp = /^i-option$|^Option$/; |
| 84 | + const optionGroupRegexp = /option-?group/i; | ||
| 84 | 85 | ||
| 85 | const findChild = (instance, checkFn) => { | 86 | const findChild = (instance, checkFn) => { |
| 86 | let match = checkFn(instance); | 87 | let match = checkFn(instance); |
| @@ -94,7 +95,7 @@ | @@ -94,7 +95,7 @@ | ||
| 94 | 95 | ||
| 95 | const findOptionsInVNode = (node) => { | 96 | const findOptionsInVNode = (node) => { |
| 96 | const opts = node.componentOptions; | 97 | const opts = node.componentOptions; |
| 97 | - if (opts && opts.tag === 'Option') return [node]; | 98 | + if (opts && opts.tag.match(optionRegexp)) return [node]; |
| 98 | if (!node.children) return []; | 99 | if (!node.children) return []; |
| 99 | const options = node.children.reduce( | 100 | const options = node.children.reduce( |
| 100 | (arr, el) => [...arr, ...findOptionsInVNode(el)], [] | 101 | (arr, el) => [...arr, ...findOptionsInVNode(el)], [] |