createComponent.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { __assign } from "tslib";
  2. function createComponent(_a) {
  3. var _b = _a.props, props = _b === void 0 ? {} : _b, _c = _a.data, data = _c === void 0 ? {} : _c, _d = _a.methods, methods = _d === void 0 ? {} : _d;
  4. Component({
  5. props: props,
  6. data: __assign(__assign({}, data), { formData: {
  7. value: undefined,
  8. status: 'default',
  9. required: false,
  10. errors: [],
  11. } }),
  12. ref: function () {
  13. var _this = this;
  14. var formItemRef = {
  15. setFormData: function (values) {
  16. _this.setData(__assign(__assign({}, _this.data), { formData: __assign(__assign({}, _this.data.formData), values) }));
  17. },
  18. getFormData: function () {
  19. return _this.data.formData;
  20. },
  21. on: function (callback) {
  22. _this.emit = callback;
  23. },
  24. getProps: function () {
  25. return _this.props;
  26. },
  27. };
  28. return formItemRef;
  29. },
  30. didUnmount: function () {
  31. this.emit('didUnmount');
  32. },
  33. deriveDataFromProps: function (nextProps) {
  34. this.emit('deriveDataFromProps', nextProps);
  35. },
  36. methods: __assign(__assign({}, methods), { emit: function (trigger, value) { } })
  37. });
  38. }
  39. export default createComponent;