cache-options.js 985 B

1234567891011121314151617181920212223242526272829303132333435
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var token = require('../../select/src/token.js');
  5. var core = require('@vueuse/core');
  6. var CacheOptions = vue.defineComponent({
  7. props: {
  8. data: {
  9. type: Array,
  10. default: () => []
  11. }
  12. },
  13. setup(props) {
  14. const select = vue.inject(token.selectKey);
  15. vue.watch(() => props.data, () => {
  16. var _a;
  17. props.data.forEach((item) => {
  18. if (!select.states.cachedOptions.has(item.value)) {
  19. select.states.cachedOptions.set(item.value, item);
  20. }
  21. });
  22. const inputs = ((_a = select.selectRef) == null ? void 0 : _a.querySelectorAll("input")) || [];
  23. if (core.isClient && !Array.from(inputs).includes(document.activeElement)) {
  24. select.setSelected();
  25. }
  26. }, { flush: "post", immediate: true });
  27. return () => void 0;
  28. }
  29. });
  30. exports["default"] = CacheOptions;
  31. //# sourceMappingURL=cache-options.js.map