useTextValueMapping.js 790 B

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = useTextValueMapping;
  6. var _vue = require("vue");
  7. function useTextValueMapping(_ref) {
  8. let {
  9. valueTexts,
  10. onTextChange
  11. } = _ref;
  12. const text = (0, _vue.ref)('');
  13. function triggerTextChange(value) {
  14. text.value = value;
  15. onTextChange(value);
  16. }
  17. function resetText() {
  18. text.value = valueTexts.value[0];
  19. }
  20. (0, _vue.watch)(() => [...valueTexts.value], function (cur) {
  21. let pre = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
  22. if (cur.join('||') !== pre.join('||') && valueTexts.value.every(valText => valText !== text.value)) {
  23. resetText();
  24. }
  25. }, {
  26. immediate: true
  27. });
  28. return [text, triggerTextChange, resetText];
  29. }