Key.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. "use strict";
  2. exports.__esModule = true;
  3. exports["default"] = void 0;
  4. var _utils = require("../utils");
  5. var _event = require("../utils/event");
  6. var _use = (0, _utils.use)('key'),
  7. sfc = _use[0],
  8. bem = _use[1];
  9. var _default = sfc({
  10. props: {
  11. type: Array,
  12. text: [String, Number]
  13. },
  14. data: function data() {
  15. return {
  16. active: false
  17. };
  18. },
  19. computed: {
  20. className: function className() {
  21. var types = this.type.slice(0);
  22. this.active && types.push('active');
  23. return bem(types);
  24. }
  25. },
  26. methods: {
  27. onFocus: function onFocus() {
  28. this.active = true;
  29. this.$emit('press', this.text);
  30. },
  31. onBlur: function onBlur(event) {
  32. (0, _event.preventDefault)(event, true);
  33. this.active = false;
  34. }
  35. },
  36. render: function render(h) {
  37. var onBlur = this.onBlur;
  38. return h("i", {
  39. "class": ['van-hairline', this.className],
  40. "on": {
  41. "touchstart": this.onFocus,
  42. "touchmove": onBlur,
  43. "touchend": onBlur,
  44. "touchcancel": onBlur
  45. }
  46. }, [this.text]);
  47. }
  48. });
  49. exports["default"] = _default;