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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy