fix: update default value for updateOption.lazyUpdate and no longer call resize in a task

This commit is contained in:
Justineo
2021-04-30 10:37:46 +08:00
parent 9ecb954a9f
commit c7fd5110f7
8 changed files with 125 additions and 43 deletions

View File

@ -1,3 +1,8 @@
## 6.0.0-rc.5
* Changed `updateOptions.lazyUpdate` to `true` by default. ([#533](https://github.com/ecomfe/vue-echarts/issues/533#issuecomment-809883909))
* Only perform an additional `resize` call after init within a task. ([#533](https://github.com/ecomfe/vue-echarts/issues/533#issuecomment-809883909))
## 6.0.0-rc.4
* Fix type error for `Vue2` reference.

View File

@ -304,7 +304,7 @@ Drop `<script>` inside your HTML file and access the component via `window.VueEC
<!-- vue3Scripts:start -->
```html
<script src="https://cdn.jsdelivr.net/npm/vue@3.0.9"></script>
<script src="https://cdn.jsdelivr.net/npm/vue@3.0.11"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.0.2"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.0-rc.4"></script>
```
@ -319,7 +319,7 @@ app.component('v-chart', VueECharts)
<!-- vue3Demo:start -->
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwnHABOHP9xyY6xiamK2bzDKLZardabHZ7GAHBJHE5nC5XGDFMoEOB3ACszxwACYPgE_j9fF9_jM5gsCEsVmsNltdvtDsdTudLtdbgVkSVyuiAGzYpwFOY4Bz4klEmRiggKABqtxwExUtAAgsYABRmVAWdDKAjKVUASlM5gswnqBCqpU1GpNJr6XVQ9mtNpNtCwBAAytpYI7jc6TWBqAQAGLKIjQLT2ADkAEkaDBSgAaYQZAAS0ISpwg5GUwgAcjBbhkk0rJsooEm4MpUHACnB4xAwJHfc6vAnmzbOgRvUbNX6XdgCPYMtxSsowJByMJ3ZQLeR4EX287YGBB8mQHO46UMouLK2d8JapQoJ1DD7e32D5NrNZ40OQBBaEQF-e-wHSkQdbRSnfgMovMJGAiUohmACJ_0dch_3VdAvAAUn1bcXxtPckJNWAbwwM8LwsOoIDoVcMgzcoszLZ9sOEZcCJASiyOw7VdXsABtfcbQyVgIHqcgCFo8iMkED9oB47CMiVdA81OAB3OoAGs4CEi8MmlFIYEoYRRLkkA21Qv0MndFQ5jwYRBFQaw0HnEAWOEABdfcUIvOtJngJjLKdcjUFDGA7xHMcJynGc5nMrTyIsbRDE8tdDDw-S-1HeIqhWNcMQxWDor9Dcv2ckAMScFLNLXHkcoyKyguC-jlGc7S-2AYQEjLW57AeB4MSTdyiHCtiOORbiQGEOzgosaraqgerhAeABGJwWo8u9-OUQSer6_rBrq8KcQeBwprau9RPEggpNKWSMl6kqlpqlb7DGprNvakAlMwVT1KOxbguW4bwrGjEHAADmuu89LKYojJMsyNN6yyLGK8HhBgIhDBKOAIAS1zgofGHPSCLD-pNOASnQSgJIAIWG79hAmk6sZx1R8fYcc6wIAANexJqhm1KbxiTOCPOo71KawIj1SbhEF4WcAxBCLMqv0fElk1pfIuW-xs1CFd3Txe2lrwEN7eVKFh6h8NVQiii5bqk1lGBBE4E24C1iwcCIGcaENkADGMDJ9TVz5CSlXw_CiGIQjkcQQC8UOgA)
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwnHABGV5z_ccmOsYmpiqzeYZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVmeOAATJ8Av9fr5vgCZnMFgQlis1hstrt9odjqdzpdrrcCiiSuUMQA2HFOApzHAOAmk4kycUEBQANVuOAmKloAEFjAAKMyoCzoZQEZRqgCUpnMFmE9QIVVKWs1ptNfS6qHsNttptoWAIAGVtLAnSaXaawNQCAAxZREaBaewAcgAkjQYKUADTCDIACRhCVOEHIymEADkYLcMsnlZNlFBk3BlKg4AU4AmIGAo36XV5Ey3bZ0CD7jVr_a7sAR7BluKVlGBIORhB7KJbyPBix2XbAwEOUyB5_HShklxY27vhLVKFBOoZfX3-4fJtZrAnhyAILQiIuL_3A6UiLraKV78BlF5hEYCJSiGYAIgAp1yAAjV0C8ABSA0d1fW192Q01YFvDBz0vCw6ggOg1wyTNymzcsXxw4QV0IkAqPInCdT1ewAG0D1tDJWAgepyAIOiKIyQRP2gXicIyZV0HzU4AHc6gAazgYTLwyGUUhgShhDE-SQHbND_QyD0VDmPBhEEVBrDQBcQFY4QAF0D1Qy960meBmKs50KNQMMYHvUdx0nadZzmCztIoixtEMLz10MfCFP7Md4iqFZ10xTE4Ji_1N2_FyQExJxUq09deVyjJrOCkKGOUFydP7YBhASctbnsB4HkxZMPKICL2M4lEeJAYR7JCiwarqqAGuEB5XicVrPPvATlCE3r-oGob6oi3EHgcKb2vvMSJIIaTSjkjI-tKpbapW-xXmazaOpAZTMDUjSjsWkLlpGiLXkxBwAA5rvvfSymKYzTPMzS-qsiwSvB4QYCIQwSjgCBErckLHxhr0gmwgbTTgEp0EoSSACERp_YQJpOrGcdUfH2AnesCAADXsSaodtSm8ckzhjzqe9SmsCJ9Um4RBeFnBMUQyyqv9HxJdNaWKLl_tbLQhW908Ptpa8RC-wVShYeoAi1SIopuR65M5RgQROBNuAtYsHAiFnGhDZAAxjAyA01a-IlpV8PwohiEI5HEEAvFDoA)
<!-- vue3Demo:end -->

View File

@ -298,7 +298,7 @@ export default {
<!-- vue3Scripts:start -->
```html
<script src="https://cdn.jsdelivr.net/npm/vue@3.0.9"></script>
<script src="https://cdn.jsdelivr.net/npm/vue@3.0.11"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.0.2"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.0-rc.4"></script>
```
@ -313,7 +313,7 @@ app.component('v-chart', VueECharts)
<!-- vue3Demo:start -->
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwnHABOHP9xyY6xiamK2bzDKLZardabHZ7GAHBJHE5nC5XGDFMoEOB3ACszxwACYPgE_j9fF9_jM5gsCEsVmsNltdvtDsdTudLtdbgVkSVyuiAGzYpwFOY4Bz4klEmRiggKABqtxwExUtAAgsYABRmVAWdDKAjKVUASlM5gswnqBCqpU1GpNJr6XVQ9mtNpNtCwBAAytpYI7jc6TWBqAQAGLKIjQLT2ADkAEkaDBSgAaYQZAAS0ISpwg5GUwgAcjBbhkk0rJsooEm4MpUHACnB4xAwJHfc6vAnmzbOgRvUbNX6XdgCPYMtxSsowJByMJ3ZQLeR4EX287YGBB8mQHO46UMouLK2d8JapQoJ1DD7e32D5NrNZ40OQBBaEQF-e-wHSkQdbRSnfgMovMJGAiUohmACJ_0dch_3VdAvAAUn1bcXxtPckJNWAbwwM8LwsOoIDoVcMgzcoszLZ9sOEZcCJASiyOw7VdXsABtfcbQyVgIHqcgCFo8iMkED9oB47CMiVdA81OAB3OoAGs4CEi8MmlFIYEoYRRLkkA21Qv0MndFQ5jwYRBFQaw0HnEAWOEABdfcUIvOtJngJjLKdcjUFDGA7xHMcJynGc5nMrTyIsbRDE8tdDDw-S-1HeIqhWNcMQxWDor9Dcv2ckAMScFLNLXHkcoyKyguC-jlGc7S-2AYQEjLW57AeB4MSTdyiHCtiOORbiQGEOzgosaraqgerhAeABGJwWo8u9-OUQSer6_rBrq8KcQeBwprau9RPEggpNKWSMl6kqlpqlb7DGprNvakAlMwVT1KOxbguW4bwrGjEHAADmuu89LKYojJMsyNN6yyLGK8HhBgIhDBKOAIAS1zgofGHPSCLD-pNOASnQSgJIAIWG79hAmk6sZx1R8fYcc6wIAANexJqhm1KbxiTOCPOo71KawIj1SbhEF4WcAxBCLMqv0fElk1pfIuW-xs1CFd3Txe2lrwEN7eVKFh6h8NVQiii5bqk1lGBBE4E24C1iwcCIGcaENkADGMDJ9TVz5CSlXw_CiGIQjkcQQC8UOgA)
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwnHABGV5z_ccmOsYmpiqzeYZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVmeOAATJ8Av9fr5vgCZnMFgQlis1hstrt9odjqdzpdrrcCiiSuUMQA2HFOApzHAOAmk4kycUEBQANVuOAmKloAEFjAAKMyoCzoZQEZRqgCUpnMFmE9QIVVKWs1ptNfS6qHsNttptoWAIAGVtLAnSaXaawNQCAAxZREaBaewAcgAkjQYKUADTCDIACRhCVOEHIymEADkYLcMsnlZNlFBk3BlKg4AU4AmIGAo36XV5Ey3bZ0CD7jVr_a7sAR7BluKVlGBIORhB7KJbyPBix2XbAwEOUyB5_HShklxY27vhLVKFBOoZfX3-4fJtZrAnhyAILQiIuL_3A6UiLraKV78BlF5hEYCJSiGYAIgAp1yAAjV0C8ABSA0d1fW192Q01YFvDBz0vCw6ggOg1wyTNymzcsXxw4QV0IkAqPInCdT1ewAG0D1tDJWAgepyAIOiKIyQRP2gXicIyZV0HzU4AHc6gAazgYTLwyGUUhgShhDE-SQHbND_QyD0VDmPBhEEVBrDQBcQFY4QAF0D1Qy960meBmKs50KNQMMYHvUdx0nadZzmCztIoixtEMLz10MfCFP7Md4iqFZ10xTE4Ji_1N2_FyQExJxUq09deVyjJrOCkKGOUFydP7YBhASctbnsB4HkxZMPKICL2M4lEeJAYR7JCiwarqqAGuEB5XicVrPPvATlCE3r-oGob6oi3EHgcKb2vvMSJIIaTSjkjI-tKpbapW-xXmazaOpAZTMDUjSjsWkLlpGiLXkxBwAA5rvvfSymKYzTPMzS-qsiwSvB4QYCIQwSjgCBErckLHxhr0gmwgbTTgEp0EoSSACERp_YQJpOrGcdUfH2AnesCAADXsSaodtSm8ckzhjzqe9SmsCJ9Um4RBeFnBMUQyyqv9HxJdNaWKLl_tbLQhW908Ptpa8RC-wVShYeoAi1SIopuR65M5RgQROBNuAtYsHAiFnGhDZAAxjAyA01a-IlpV8PwohiEI5HEEAvFDoA)
<!-- vue3Demo:end -->

109
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "vue-echarts",
"version": "6.0.0-rc.3",
"version": "6.0.0-rc.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -2347,33 +2347,57 @@
"dev": true
},
"@vue/reactivity": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.7.tgz",
"integrity": "sha512-FotWcNNaKhqpFZrdgsUOZ1enlJ5lhTt01CNTtLSyK7jYFgZBTuw8vKsEutZKDYZ1XKotOfoeO8N3pZQqmM6Etw==",
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.11.tgz",
"integrity": "sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw==",
"dev": true,
"requires": {
"@vue/shared": "3.0.7"
"@vue/shared": "3.0.11"
},
"dependencies": {
"@vue/shared": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz",
"integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==",
"dev": true
}
}
},
"@vue/runtime-core": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.7.tgz",
"integrity": "sha512-DBAZAwVvdmMXuyd6/9qqj/kYr/GaLTmn1L2/QLxLwP+UfhIboiTSBc/tUUb8MRk7Bb98GzNeAWkkT6AfooS3dQ==",
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.11.tgz",
"integrity": "sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg==",
"dev": true,
"requires": {
"@vue/reactivity": "3.0.7",
"@vue/shared": "3.0.7"
"@vue/reactivity": "3.0.11",
"@vue/shared": "3.0.11"
},
"dependencies": {
"@vue/shared": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz",
"integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==",
"dev": true
}
}
},
"@vue/runtime-dom": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.7.tgz",
"integrity": "sha512-Oij4ruOtnpQpCj+/Q3JPzgpTJ1Q7+N67pA53A8KVITEtxfvKL46NN6dhAZ5NGqwX6RWZpYqWQNewITeF0pHr8g==",
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz",
"integrity": "sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA==",
"dev": true,
"requires": {
"@vue/runtime-core": "3.0.7",
"@vue/shared": "3.0.7",
"@vue/runtime-core": "3.0.11",
"@vue/shared": "3.0.11",
"csstype": "^2.6.8"
},
"dependencies": {
"@vue/shared": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz",
"integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==",
"dev": true
}
}
},
"@vue/shared": {
@ -15225,14 +15249,57 @@
"dev": true
},
"vue": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.0.7.tgz",
"integrity": "sha512-8h4TikD+JabbMK9aRlBO4laG0AtNHRPHynxYgWZ9sq1YUPfzynd9Jeeb27XNyZytC7aCQRX9xe1+TQJuc181Tw==",
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.0.11.tgz",
"integrity": "sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw==",
"dev": true,
"requires": {
"@vue/compiler-dom": "3.0.7",
"@vue/runtime-dom": "3.0.7",
"@vue/shared": "3.0.7"
"@vue/compiler-dom": "3.0.11",
"@vue/runtime-dom": "3.0.11",
"@vue/shared": "3.0.11"
},
"dependencies": {
"@vue/compiler-core": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.11.tgz",
"integrity": "sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw==",
"dev": true,
"requires": {
"@babel/parser": "^7.12.0",
"@babel/types": "^7.12.0",
"@vue/shared": "3.0.11",
"estree-walker": "^2.0.1",
"source-map": "^0.6.1"
}
},
"@vue/compiler-dom": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz",
"integrity": "sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw==",
"dev": true,
"requires": {
"@vue/compiler-core": "3.0.11",
"@vue/shared": "3.0.11"
}
},
"@vue/shared": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz",
"integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==",
"dev": true
},
"estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"vue-demi": {

View File

@ -58,12 +58,12 @@
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.29.0",
"typescript": "^4.1.3",
"vue": "^3.0.5"
"vue": "^3.0.11"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.2",
"echarts": "^5.0.2",
"vue": "^2.6.12 || ^3.0.0"
"vue": "^2.6.12 || ^3.0.11"
},
"peerDependenciesMeta": {
"@vue/composition-api": {

View File

@ -9,7 +9,7 @@ const { readFile, writeFile } = fs.promises;
const CDN_PREFIX = "https://cdn.jsdelivr.net/npm/";
const DEP_VERSIONS = {
"vue@3": "3.0.9",
"vue@3": "3.0.11",
"vue@2": "2.6.12",
"@vue/composition-api": "1.0.0-rc.3",
echarts: "5.0.2",

View File

@ -1,7 +1,6 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import {
defineComponent,
ref,
unref,
shallowRef,
toRef,
@ -15,7 +14,8 @@ import {
nextTick,
PropType,
watchEffect,
Vue2
Vue2,
getCurrentInstance
} from "vue-demi";
import { init as initChart } from "echarts/core";
import {
@ -67,7 +67,8 @@ export default defineComponent({
// eslint-disable-next-line @typescript-eslint/no-unused-vars
// @ts-expect-error
setup(props, { attrs, listeners }) {
const root = ref<HTMLElement>();
type T = Required<typeof props>;
const root = shallowRef<HTMLElement>();
const chart = shallowRef<EChartsType>();
const manualOption = shallowRef<Option>();
const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;
@ -75,10 +76,9 @@ export default defineComponent({
INIT_OPTIONS_KEY,
null
) as InitOptionsInjection;
const defaultUpdateOptions = inject(
UPDATE_OPTIONS_KEY,
null
) as UpdateOptionsInjection;
const defaultUpdateOptions = inject(UPDATE_OPTIONS_KEY, {
lazyUpdate: true
}) as UpdateOptionsInjection;
const realOption = computed(
() => manualOption.value || props.option || Object.create(null)
);
@ -91,6 +91,7 @@ export default defineComponent({
);
const { autoresize, manualUpdate, loading } = toRefs(props);
const theme = toRef(props, "theme");
const initOptions = toRef(props, "initOptions");
const loadingOptions = toRef(props, "loadingOptions");
@ -147,9 +148,12 @@ export default defineComponent({
instance.resize();
}
}
// Make sure the chart fits the container in next UI render (after current task)
nextTick(resize);
setTimeout(resize);
if (autoresize.value) {
// Try to make chart fit to container in case container size
// is changed synchronously or in already queued microtasks
nextTick(resize);
}
}
function setOption(option: Option, updateOptions?: UpdateOptions) {
@ -233,17 +237,21 @@ export default defineComponent({
onUnmounted(cleanup);
const chartGetter = {
get() {
return unref(chart);
}
};
const exposed = {
root,
setOption,
nonEventAttrs,
...publicApi
};
Object.defineProperty(exposed, "chart", {
get() {
return unref(chart);
}
});
Object.defineProperty(getCurrentInstance(), "chart", chartGetter);
Object.defineProperty(exposed, "chart", chartGetter);
return exposed;
},

View File

@ -557,6 +557,8 @@ export default {
},
mounted() {
this.startActions();
console.log(this.$refs.pie.chart);
}
};
</script>