@vue/runtime-dom 3.5.44 → 3.5.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-dom v3.5.44
2
+ * @vue/runtime-dom v3.5.45
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1790,18 +1790,18 @@ const vModelSelect = {
1790
1790
  },
1791
1791
  // set value in mounted & updated because <select> relies on its children
1792
1792
  // <option>s.
1793
- mounted(el, { value }) {
1794
- setSelected(el, value);
1793
+ mounted(el, { value, modifiers: { number } }) {
1794
+ setSelected(el, value, number);
1795
1795
  },
1796
1796
  beforeUpdate(el, { value }, vnode) {
1797
1797
  el._modelValue = value;
1798
1798
  el[assignKey] = getModelAssigner(vnode);
1799
1799
  },
1800
- updated(el, { value }) {
1800
+ updated(el, { value, modifiers: { number } }) {
1801
1801
  const pending = el._pendingValue;
1802
1802
  el._pendingValue = void 0;
1803
1803
  if (!pending || pending[0] !== el.multiple || !isSameSelectValue(value, pending[1], pending[0])) {
1804
- setSelected(el, value);
1804
+ setSelected(el, value, number);
1805
1805
  }
1806
1806
  }
1807
1807
  };
@@ -1817,7 +1817,7 @@ function isSameSelectValue(value, assignedValue, multiple) {
1817
1817
  }
1818
1818
  return false;
1819
1819
  }
1820
- function setSelected(el, value) {
1820
+ function setSelected(el, value, number = false) {
1821
1821
  const isMultiple = el.multiple;
1822
1822
  const isArrayValue = isArray(value);
1823
1823
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -1838,7 +1838,7 @@ function setSelected(el, value) {
1838
1838
  option.selected = looseIndexOf(value, optionValue) > -1;
1839
1839
  }
1840
1840
  } else {
1841
- option.selected = value.has(optionValue);
1841
+ option.selected = value.has(optionValue) || number && typeof optionValue === "string" && value.has(looseToNumber(optionValue));
1842
1842
  }
1843
1843
  } else if (looseEqual(getValue(option), value)) {
1844
1844
  if (el.selectedIndex !== i) el.selectedIndex = i;