Skip to content

Commit ae4bac8

Browse files
committed
fix: update refs inside v-for to work for @vue/compat
1 parent 411e0e9 commit ae4bac8

File tree

7 files changed

+45
-35
lines changed

7 files changed

+45
-35
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,10 @@
9999
"@nuxtjs/robots": "^2.5.0",
100100
"@nuxtjs/sitemap": "^2.4.0",
101101
"@testing-library/jest-dom": "^5.12.0",
102-
"@vue/compat": "^3.2.24",
103-
"@vue/compiler-dom": "^3.2.24",
102+
"@vue/compat": "^3.2.40",
103+
"@vue/compiler-dom": "^3.2.40",
104104
"@vue/test-utils": "^1.3.0",
105-
"@vue/test-utils-vue3": "npm:@vue/test-utils@2.0.0-rc.18",
105+
"@vue/test-utils-vue3": "npm:@vue/test-utils@2.1.0",
106106
"autoprefixer": "^10.4.0",
107107
"babel-core": "^7.0.0-bridge.0",
108108
"babel-eslint": "^10.1.0",

src/components/table/helpers/mixin-tbody-row.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Vue } from '../../../vue'
1+
import { Vue, REF_FOR_KEY } from '../../../vue'
22
import {
33
EVENT_NAME_ROW_CLICKED,
44
EVENT_NAME_ROW_HOVERED,
@@ -271,7 +271,7 @@ export const tbodyRowMixin = Vue.extend({
271271
},
272272
key: `__b-table-row-${rowKey}__`,
273273
ref: 'item-rows',
274-
refInFor: true
274+
[REF_FOR_KEY]: true
275275
},
276276
$tds
277277
)

src/components/tabs/tabs.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { COMPONENT_UID_KEY, Vue } from '../../vue'
1+
import { COMPONENT_UID_KEY, REF_FOR_KEY, Vue } from '../../vue'
22
import { NAME_TABS, NAME_TAB_BUTTON_HELPER } from '../../constants/components'
33
import { IS_BROWSER } from '../../constants/env'
44
import {
@@ -598,7 +598,7 @@ export const BTabs = /*#__PURE__*/ Vue.extend({
598598
key: $tab[COMPONENT_UID_KEY] || index,
599599
ref: 'buttons',
600600
// Needed to make `this.$refs.buttons` an array
601-
refInFor: true
601+
[REF_FOR_KEY]: true
602602
})
603603
})
604604

src/components/time/time.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// BTime control (not form input control)
2-
import { Vue } from '../../vue'
2+
import { Vue, REF_FOR_KEY } from '../../vue'
33
import { NAME_TIME } from '../../constants/components'
44
import { EVENT_NAME_CONTEXT } from '../../constants/events'
55
import { CODE_LEFT, CODE_RIGHT } from '../../constants/key-codes'
@@ -441,7 +441,7 @@ export const BTime = /*#__PURE__*/ Vue.extend({
441441
},
442442
key,
443443
ref: 'spinners',
444-
refInFor: true
444+
[REF_FOR_KEY]: true
445445
})
446446
}
447447

src/vue.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ const COMPONENT_UID_KEY = '_uid'
66

77
const isVue3 = Vue.version.startsWith('3')
88

9+
export const REF_FOR_KEY = isVue3 ? 'ref_for' : 'refInFor'
10+
911
const ALLOWED_FIELDS_IN_DATA = [
1012
'class',
1113
'staticClass',

tests/setup.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ if (useVue3) {
3131
OPTIONS_DATA_MERGE: 'suppress-warning',
3232
OPTIONS_DESTROYED: 'suppress-warning',
3333
RENDER_FUNCTION: 'suppress-warning',
34-
V_FOR_REF: 'suppress-warning',
3534
WATCH_ARRAY: 'suppress-warning'
3635
})
3736

yarn.lock

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -617,11 +617,16 @@
617617
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6"
618618
integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==
619619

620-
"@babel/parser@^7.15.0", "@babel/parser@^7.16.0":
620+
"@babel/parser@^7.16.0":
621621
version "7.16.2"
622622
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.2.tgz#3723cd5c8d8773eef96ce57ea1d9b7faaccd12ac"
623623
integrity sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==
624624

625+
"@babel/parser@^7.16.4":
626+
version "7.19.3"
627+
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a"
628+
integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==
629+
625630
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12":
626631
version "7.13.12"
627632
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a"
@@ -2754,28 +2759,32 @@
27542759
"@vue/babel-plugin-transform-vue-jsx" "^1.2.1"
27552760
camelcase "^5.0.0"
27562761

2757-
"@vue/compat@^3.2.24":
2758-
version "3.2.24"
2759-
resolved "https://registry.yarnpkg.com/@vue/compat/-/compat-3.2.24.tgz#6b10efb2773ccc8a59e625b4082bdc7cf2012549"
2760-
integrity sha512-fhnNc+SJ/hbhKZexVHVK+vZ0VstHm32VXgFEoiV1WWYNGRFJB5X7jbO/1a09IQgURiHwP0Km9jQQzN7/7sSbag==
2762+
"@vue/compat@^3.2.40":
2763+
version "3.2.40"
2764+
resolved "https://registry.yarnpkg.com/@vue/compat/-/compat-3.2.40.tgz#5ffa8999121daaff585eea1dce0352580e562bfd"
2765+
integrity sha512-PZl6tsjWC2KENXfeJ+hI+wbvN7lgLBVyf6fgE1bybxUtfDcw/Eon3RrapEHnp86zuZU++ThGqq1U03ZacznR0g==
2766+
dependencies:
2767+
"@babel/parser" "^7.16.4"
2768+
estree-walker "^2.0.2"
2769+
source-map "^0.6.1"
27612770

2762-
"@vue/compiler-core@3.2.24":
2763-
version "3.2.24"
2764-
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.24.tgz#cadcda0e026e7f1cd453ce87160be51a5f313fe0"
2765-
integrity sha512-A0SxB2HAggKzP57LDin5gfgWOTwFyGCtQ5MTMNBADnfQYALWnYuC8kMI0DhRSplGTWRvn9Z2DAnG8f35BnojuA==
2771+
"@vue/compiler-core@3.2.40":
2772+
version "3.2.40"
2773+
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.40.tgz#c785501f09536748121e937fb87605bbb1ada8e5"
2774+
integrity sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==
27662775
dependencies:
2767-
"@babel/parser" "^7.15.0"
2768-
"@vue/shared" "3.2.24"
2776+
"@babel/parser" "^7.16.4"
2777+
"@vue/shared" "3.2.40"
27692778
estree-walker "^2.0.2"
27702779
source-map "^0.6.1"
27712780

2772-
"@vue/compiler-dom@^3.2.24":
2773-
version "3.2.24"
2774-
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.24.tgz#32235cb444660245be5cc58f4beb76747400505c"
2775-
integrity sha512-KQEm8r0JFsrNNIfbD28pcwMvHpcJcwjVR1XWFcD0yyQ8eREd7IXhT7J6j7iNCSE/TIo78NOvkwbyX+lnIm836w==
2781+
"@vue/compiler-dom@^3.2.40":
2782+
version "3.2.40"
2783+
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz#c225418773774db536174d30d3f25ba42a33e7e4"
2784+
integrity sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==
27762785
dependencies:
2777-
"@vue/compiler-core" "3.2.24"
2778-
"@vue/shared" "3.2.24"
2786+
"@vue/compiler-core" "3.2.40"
2787+
"@vue/shared" "3.2.40"
27792788

27802789
"@vue/component-compiler-utils@^3.1.0":
27812790
version "3.2.0"
@@ -2793,15 +2802,15 @@
27932802
optionalDependencies:
27942803
prettier "^1.18.2"
27952804

2796-
"@vue/shared@3.2.24":
2797-
version "3.2.24"
2798-
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.24.tgz#d74615e856013b17fb60b19b09d712729ad5e090"
2799-
integrity sha512-BUgRiZCkCrqDps5aQ9av05xcge3rn092ztKIh17tHkeEFgP4zfXMQWBA2zfdoCdCEdBL26xtOv+FZYiOp9RUDA==
2805+
"@vue/shared@3.2.40":
2806+
version "3.2.40"
2807+
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.40.tgz#e57799da2a930b975321981fcee3d1e90ed257ae"
2808+
integrity sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==
28002809

2801-
"@vue/test-utils-vue3@npm:@vue/test-utils@2.0.0-rc.18":
2802-
version "2.0.0-rc.18"
2803-
resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.0.0-rc.18.tgz#ff22b252424fe72e5462cbb3a8e7405cef11ffb6"
2804-
integrity sha512-aifolXjVdsogjaLmDoZ0FU8vN+R67aWmg9OuVeED4w5Ij5GFQLrlhM19uhWe/r5xXUL4fXMk3pX5wW6FJP1NcQ==
2810+
"@vue/test-utils-vue3@npm:@vue/test-utils@2.1.0":
2811+
version "2.1.0"
2812+
resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.1.0.tgz#c2f646aa2d6ac779f79a83f18c5b82fc40952bfd"
2813+
integrity sha512-U4AxAD/tKJ3ajxYew1gkfEotpr96DE/gLXpbl+nPbsNRqGBfQZZA7YhwGoQNDPgon56v+IGZDrYq7pe3GDl9aw==
28052814

28062815
"@vue/test-utils@^1.3.0":
28072816
version "1.3.0"

0 commit comments

Comments
 (0)