useSearchConfig.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  2. import _typeof from "@babel/runtime/helpers/esm/typeof";
  3. import { ref, watchEffect } from 'vue';
  4. import { warning } from '../../vc-util/warning';
  5. // Convert `showSearch` to unique config
  6. export default function useSearchConfig(showSearch) {
  7. var mergedShowSearch = ref(false);
  8. var mergedSearchConfig = ref({});
  9. watchEffect(function () {
  10. if (!showSearch.value) {
  11. mergedShowSearch.value = false;
  12. mergedSearchConfig.value = {};
  13. return;
  14. }
  15. var searchConfig = {
  16. matchInputWidth: true,
  17. limit: 50
  18. };
  19. if (showSearch.value && _typeof(showSearch.value) === 'object') {
  20. searchConfig = _objectSpread(_objectSpread({}, searchConfig), showSearch.value);
  21. }
  22. if (searchConfig.limit <= 0) {
  23. delete searchConfig.limit;
  24. if (process.env.NODE_ENV !== 'production') {
  25. warning(false, "'limit' of showSearch should be positive number or false.");
  26. }
  27. }
  28. mergedShowSearch.value = true;
  29. mergedSearchConfig.value = searchConfig;
  30. return;
  31. });
  32. return {
  33. showSearch: mergedShowSearch,
  34. searchConfig: mergedSearchConfig
  35. };
  36. }