Computed is not triggered anymore after upgrading vue from 3.2.25 to 3.2.45
Vue version
3.2.45
Steps to reproduce
Define computed field and return to HTML:
const gridRows = computed(() => store.state.dynamicgrid["MyStore"].rows)
In HTML, use :isDisabled:
<CButton @click="doSomething" :disabled="!gridRows.filter(row => row.versleten || row.exchange).length"> Continue </CButton>
Set GridRows equal to an array of 5 items. Now change a property in one of the 5 elements of your array. Do not change the array itself!
Vue used to be able to pick changes like this up, but it doesn't anymore.
Even when I rewrite the computed field to where it directly uses one the elements, purely for testing purposes, such as:
const gridRows = computed(() => store.state.dynamicgrid["MyStore"].rows[0].isSomehing
It doesn't actually trigger anymore.
What is expected?
To pick changes up just like it normally would.
What is actually happening?
Button conditions are only evaluated once.
System Info
System:
OS: Windows 10 10.0.22000
CPU: (16) x64 AMD Ryzen 9 5900HX with Radeon Graphics
Memory: 5.80 GB / 27.86 GB
Binaries:
Node: 16.14.2 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
npm: 8.5.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: Spartan (44.22000.120.0), Chromium (108.0.1462.54)
Internet Explorer: 11.0.22000.120
npmPackages:
vue: 3.2.45 => 3.2.45
Any additional comments?
This happened when upgrading Vue from 3.2.25 to 3.2.45