@form-create/element-ui 3.2.8 → 3.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @form-create/element-ui v3.2.8
2
+ * @form-create/element-ui v3.2.10
3
3
  * (c) 2018-2024 xaboy
4
4
  * Github https://github.com/xaboy/form-create
5
5
  * Released under the MIT License.
@@ -1290,7 +1290,7 @@
1290
1290
  return vue.createVNode(vue.resolveComponent("ElTree"), vue.mergeProps(this.$attrs, {
1291
1291
  "ref": "tree",
1292
1292
  "onCheck": this.updateValue,
1293
- "onNode-click": this.updateValue
1293
+ "onNodeClick": this.updateValue
1294
1294
  }), this.$slots);
1295
1295
  },
1296
1296
  mounted: function mounted() {
@@ -1418,7 +1418,7 @@
1418
1418
  }, [vue.createVNode(vue.resolveComponent("ElUpload"), vue.mergeProps({
1419
1419
  "key": len
1420
1420
  }, this.$attrs, {
1421
- "list-type": this.listType || 'picture-card',
1421
+ "listType": this.listType || 'picture-card',
1422
1422
  "class": {
1423
1423
  '_fc-exceed': this.$attrs.limit ? this.$attrs.limit <= len : false
1424
1424
  },
@@ -2153,6 +2153,15 @@
2153
2153
  var vm = vue.getCurrentInstance();
2154
2154
  vue.provide('parentFC', vm);
2155
2155
  var parent = vue.inject('parentFC', null);
2156
+ var top = parent;
2157
+
2158
+ if (parent) {
2159
+ while (top.setupState.parent) {
2160
+ top = top.setupState.parent;
2161
+ }
2162
+ } else {
2163
+ top = vm;
2164
+ }
2156
2165
 
2157
2166
  var _toRefs = vue.toRefs(props),
2158
2167
  rule = _toRefs.rule,
@@ -2285,6 +2294,7 @@
2285
2294
  if (fc.$handle.isBreakWatch() || n.length === data.renderRule.length && n.every(function (v) {
2286
2295
  return data.renderRule.indexOf(v) > -1;
2287
2296
  })) return;
2297
+ fc.$handle.updateAppendData();
2288
2298
  fc.$handle.reloadRule(rule.value);
2289
2299
  vm.setupState.renderRule();
2290
2300
  });
@@ -2310,12 +2320,14 @@
2310
2320
  fapi.setValue(n || {});
2311
2321
  }
2312
2322
  }, {
2313
- deep: true
2323
+ deep: true,
2324
+ flush: 'post'
2314
2325
  });
2315
2326
  vue.watch(function () {
2316
2327
  return props.index;
2317
2328
  }, function () {
2318
2329
  fapi.coverValue({});
2330
+ fc.$handle.updateAppendData();
2319
2331
  vue.nextTick(function () {
2320
2332
  vue.nextTick(function () {
2321
2333
  fapi.clearValidateState();
@@ -2327,6 +2339,7 @@
2327
2339
  return _objectSpread2(_objectSpread2({
2328
2340
  fc: vue.markRaw(fc),
2329
2341
  parent: parent ? vue.markRaw(parent) : parent,
2342
+ top: vue.markRaw(top),
2330
2343
  fapi: vue.markRaw(fapi)
2331
2344
  }, vue.toRefs(data)), {}, {
2332
2345
  getGroupInject: function getGroupInject() {
@@ -2453,6 +2466,16 @@
2453
2466
  console.error(e);
2454
2467
  }
2455
2468
 
2469
+ function toCase(str) {
2470
+ var to = str.replace(/(-[a-z])/g, function (v) {
2471
+ return v.replace('-', '').toLocaleUpperCase();
2472
+ });
2473
+ return lower(to);
2474
+ }
2475
+ function lower(str) {
2476
+ return str.replace(str[0], str[0].toLowerCase());
2477
+ }
2478
+
2456
2479
  var PREFIX = '[[FORM-CREATE-PREFIX-';
2457
2480
  var SUFFIX = '-FORM-CREATE-SUFFIX]]';
2458
2481
  var $T = '$FN:';
@@ -2680,6 +2703,10 @@
2680
2703
  var prop = _objectSpread2({}, rule.props || {});
2681
2704
 
2682
2705
  Object.keys(rule.on || {}).forEach(function (k) {
2706
+ if (k.indexOf('-') > 0) {
2707
+ k = toCase(k);
2708
+ }
2709
+
2683
2710
  var name = "on".concat(upper(k));
2684
2711
 
2685
2712
  if (Array.isArray(prop[name])) {
@@ -3369,7 +3396,7 @@
3369
3396
  },
3370
3397
  method: function method(id, name) {
3371
3398
  var el = api.el(id);
3372
- if (!el || !el[name]) throw new Error(format('err', "".concat(name, "\u65B9\u6CD5\u4E0D\u5B58\u5728")));
3399
+ if (!el || !el[name]) throw new Error(format('err', "".concat(name, " \u65B9\u6CD5\u4E0D\u5B58\u5728")));
3373
3400
  return function () {
3374
3401
  return el[name].apply(el, arguments);
3375
3402
  };
@@ -3434,6 +3461,11 @@
3434
3461
  findRules(ctx ? ctx.loadChildrenPending() : rule.children);
3435
3462
  return rules;
3436
3463
  },
3464
+ getParentRule: function getParentRule(id) {
3465
+ var flag = _typeof(id) === 'object';
3466
+ var ctx = flag ? byCtx(id) : h.getCtx(id);
3467
+ return ctx.parent.rule;
3468
+ },
3437
3469
  getParentSubRule: function getParentSubRule(id) {
3438
3470
  var flag = _typeof(id) === 'object';
3439
3471
  var ctx = flag ? byCtx(id) : h.getCtx(id);
@@ -3521,7 +3553,17 @@
3521
3553
  opt = deepCopy(opt);
3522
3554
  opt = h.loadFetchVar(opt);
3523
3555
  h.beforeFetch(opt).then(function () {
3524
- return asyncFetch(opt, h.fc.create.fetch).then(resolve)["catch"](reject);
3556
+ return asyncFetch(opt, h.fc.create.fetch).then(function (res) {
3557
+ invoke(function () {
3558
+ return opt.onSuccess && opt.onSuccess(res);
3559
+ });
3560
+ resolve(res);
3561
+ })["catch"](function (e) {
3562
+ invoke(function () {
3563
+ return opt.onError && opt.onError(e);
3564
+ });
3565
+ reject(e);
3566
+ });
3525
3567
  });
3526
3568
  });
3527
3569
  },
@@ -3532,8 +3574,14 @@
3532
3574
  _opt = h.loadFetchVar(_opt, get);
3533
3575
  h.beforeFetch(_opt).then(function () {
3534
3576
  return asyncFetch(_opt, h.fc.create.fetch).then(function (res) {
3577
+ invoke(function () {
3578
+ return _opt.onSuccess && _opt.onSuccess(res);
3579
+ });
3535
3580
  callback && callback(res, change);
3536
3581
  })["catch"](function (e) {
3582
+ invoke(function () {
3583
+ return _opt.onError && _opt.onError(e);
3584
+ });
3537
3585
  error && error(e);
3538
3586
  });
3539
3587
  });
@@ -3542,8 +3590,8 @@
3542
3590
  getData: function getData(id, def) {
3543
3591
  return h.fc.getLoadData(id, def);
3544
3592
  },
3545
- setData: function setData(id, data) {
3546
- return h.fc.setData(id, data);
3593
+ setData: function setData(id, data, isGlobal) {
3594
+ return h.fc.setData(id, data, isGlobal);
3547
3595
  },
3548
3596
  refreshData: function refreshData(id) {
3549
3597
  return h.fc.refreshData(id);
@@ -3616,16 +3664,6 @@
3616
3664
  });
3617
3665
  }
3618
3666
 
3619
- function toCase(str) {
3620
- var to = str.replace(/(-[a-z])/g, function (v) {
3621
- return v.replace('-', '').toLocaleUpperCase();
3622
- });
3623
- return lower(to);
3624
- }
3625
- function lower(str) {
3626
- return str.replace(str[0], str[0].toLowerCase());
3627
- }
3628
-
3629
3667
  function toString(val) {
3630
3668
  return val == null ? '' : _typeof(val) === 'object' ? JSON.stringify(val, null, 2) : String(val);
3631
3669
  }
@@ -3784,7 +3822,7 @@
3784
3822
  this.setOptions(ctx);
3785
3823
  this.ctxProp(ctx);
3786
3824
  var prop = ctx.prop;
3787
- prop.preview = !!(prop.preview != null ? prop.preview : this.vm.props.preview !== undefined ? this.vm.props.preview : this.options.preview || false);
3825
+ prop.preview = !!(prop.preview != null ? prop.preview : this.$handle.preview);
3788
3826
  prop.props.formCreateInject = this.injectProp(ctx);
3789
3827
  var cacheFlag = prop.cache !== false;
3790
3828
  var preview = prop.preview;
@@ -3937,7 +3975,10 @@
3937
3975
  id: ctx.id,
3938
3976
  field: ctx.field,
3939
3977
  rule: ctx.rule,
3940
- input: ctx.input
3978
+ input: ctx.input,
3979
+ updateValue: function updateValue(data) {
3980
+ _this6.$handle.onUpdateValue(ctx, data);
3981
+ }
3941
3982
  };
3942
3983
  }
3943
3984
 
@@ -5070,11 +5111,23 @@
5070
5111
  }
5071
5112
  });
5072
5113
  });
5073
- hideLst.length && vue.nextTick(function () {
5074
- hideLst.forEach(function (v) {
5075
- return v();
5076
- });
5077
- });
5114
+
5115
+ if (hideLst.length) {
5116
+ if (this.loading) {
5117
+ hideLst.length && this.bus.$once('load-end', function () {
5118
+ hideLst.forEach(function (v) {
5119
+ return v();
5120
+ });
5121
+ });
5122
+ } else {
5123
+ hideLst.length && vue.nextTick(function () {
5124
+ hideLst.forEach(function (v) {
5125
+ return v();
5126
+ });
5127
+ });
5128
+ }
5129
+ }
5130
+
5078
5131
  this.vm.emit('control', ctx.origin, this.api);
5079
5132
  this.effect(ctx, 'control');
5080
5133
  return flag;
@@ -5253,7 +5306,10 @@
5253
5306
  this.syncValue();
5254
5307
  },
5255
5308
  appendValue: function appendValue(rule) {
5256
- if (!rule.field || !hasProperty(this.appendData, rule.field)) return;
5309
+ if ((!rule.field || !hasProperty(this.appendData, rule.field)) && !this.options.forceCoverValue) {
5310
+ return;
5311
+ }
5312
+
5257
5313
  rule.value = this.appendData[rule.field];
5258
5314
  delete this.appendData[rule.field];
5259
5315
  },
@@ -5540,123 +5596,155 @@
5540
5596
  }
5541
5597
 
5542
5598
  this.bus.$once('load-end', function () {
5543
- var computed = ctx.rule.computed;
5599
+ var computedRule = ctx.rule.computed;
5544
5600
 
5545
- if (!computed) {
5601
+ if (!computedRule) {
5546
5602
  return;
5547
5603
  }
5548
5604
 
5549
- if (_typeof(computed) !== 'object') {
5550
- computed = {
5551
- value: computed
5605
+ if (_typeof(computedRule) !== 'object') {
5606
+ computedRule = {
5607
+ value: computedRule
5552
5608
  };
5553
5609
  }
5554
5610
 
5555
- Object.keys(computed).forEach(function (k) {
5556
- ctx.watch.push(vue.watch(function () {
5557
- var item = computed[k];
5611
+ Object.keys(computedRule).forEach(function (k) {
5612
+ var computedValue = vue.computed(function () {
5613
+ var item = computedRule[k];
5558
5614
  if (!item) return undefined;
5559
- var fn;
5560
-
5561
- if (_typeof(item) === 'object') {
5562
- var group = ctx.getParentGroup();
5615
+ return _this.compute(ctx, item);
5616
+ });
5563
5617
 
5564
- var checkCondition = function checkCondition(item) {
5565
- item = Array.isArray(item) ? {
5566
- mode: 'AND',
5567
- group: item
5568
- } : item;
5618
+ var callback = function callback(n) {
5619
+ if (k === 'value') {
5620
+ _this.onInput(ctx, n);
5621
+ } else if (k[0] === '$') {
5622
+ _this.api.setEffect(ctx.id, k, n);
5623
+ } else {
5624
+ deepSet(ctx.rule, k, n);
5625
+ }
5626
+ };
5569
5627
 
5570
- if (!is.trueArray(item.group)) {
5571
- return true;
5572
- }
5628
+ if (k === 'value' ? [undefined, null, ''].indexOf(ctx.rule.value) > -1 : computedValue.value !== deepGet(ctx.rule, k)) {
5629
+ callback(computedValue.value);
5630
+ }
5573
5631
 
5574
- var or = item.mode === 'OR';
5575
- var valid = true;
5632
+ ctx.watch.push(vue.watch(computedValue, function (n) {
5633
+ setTimeout(function () {
5634
+ callback(n);
5635
+ });
5636
+ }));
5637
+ });
5638
+ });
5639
+ this.watchEffect(ctx);
5640
+ },
5641
+ compute: function compute(ctx, item) {
5642
+ var _this2 = this;
5576
5643
 
5577
- for (var i = 0; i < item.group.length; i++) {
5578
- var one = item.group[i];
5579
- var flag = void 0;
5644
+ var fn;
5580
5645
 
5581
- if (one.mode) {
5582
- flag = checkCondition(one);
5583
- } else if (!condition[one.condition]) {
5584
- flag = false;
5585
- } else {
5586
- flag = new Function('_$', '_$val', '$form', '_group', "with($form){with(this){with(_group){ return _$['".concat(one.condition, "'](").concat(one.field, ", ").concat(one.compare ? one.compare : '_$val', "); }}}")).call(_this.api.form, condition, one.value, _this.api.top.form, group ? _this.subRuleData[group.id] || {} : {});
5587
- }
5646
+ if (_typeof(item) === 'object') {
5647
+ var group = ctx.getParentGroup();
5588
5648
 
5589
- if (or && flag) {
5590
- return true;
5591
- }
5649
+ var checkCondition = function checkCondition(item) {
5650
+ item = Array.isArray(item) ? {
5651
+ mode: 'AND',
5652
+ group: item
5653
+ } : item;
5592
5654
 
5593
- if (!or) {
5594
- valid = valid && flag;
5595
- }
5596
- }
5655
+ if (!is.trueArray(item.group)) {
5656
+ return true;
5657
+ }
5597
5658
 
5598
- return or ? false : valid;
5599
- };
5659
+ var or = item.mode === 'OR';
5660
+ var valid = true;
5600
5661
 
5601
- var _val = checkCondition(item);
5662
+ for (var i = 0; i < item.group.length; i++) {
5663
+ var one = item.group[i];
5664
+ var flag = void 0;
5602
5665
 
5603
- return item.invert === true ? !_val : _val;
5604
- } else if (is.Function(item)) {
5605
- fn = function fn() {
5606
- return item(_this.api.form, _this.api);
5607
- };
5666
+ if (one.mode) {
5667
+ flag = checkCondition(one);
5668
+ } else if (!condition[one.condition]) {
5669
+ flag = false;
5608
5670
  } else {
5609
- var _group = ctx.getParentGroup();
5671
+ flag = new Function('$condition', '$val', '$form', '$group', "with($form){with(this){with($group){ return $condition['".concat(one.condition, "'](").concat(one.field, ", ").concat(one.compare ? one.compare : '$val', "); }}}")).call(_this2.api.form, condition, one.value, _this2.api.top.form, group ? _this2.subRuleData[group.id] || {} : {});
5672
+ }
5610
5673
 
5611
- fn = function fn() {
5612
- return new Function('_formulas', '$form', '_group', '$rule', '$api', "with($form){with(this){with(_group){with(_formulas){ return ".concat(item, " }}}}")).call(_this.api.form, _this.fc.formulas, _this.api.top.form, _group ? _this.subRuleData[_group.id] || {} : {}, ctx.rule, _this.api);
5613
- };
5674
+ if (or && flag) {
5675
+ return true;
5614
5676
  }
5615
5677
 
5616
- return invoke(fn, undefined);
5617
- }, function (n) {
5618
- setTimeout(function () {
5619
- if (k === 'value') {
5620
- _this.onInput(ctx, n);
5621
- } else if (k[0] === '$') {
5622
- _this.api.setEffect(ctx.id, k, n);
5623
- } else {
5624
- deepSet(ctx.rule, k, n);
5625
- }
5626
- });
5627
- }, {
5628
- immediate: k === 'value' ? [undefined, null, ''].indexOf(ctx.rule.value) > -1 : true
5629
- }));
5630
- });
5631
- });
5632
- this.watchEffect(ctx);
5678
+ if (!or) {
5679
+ valid = valid && flag;
5680
+ }
5681
+ }
5682
+
5683
+ return or ? false : valid;
5684
+ };
5685
+
5686
+ var val = checkCondition(item);
5687
+ return item.invert === true ? !val : val;
5688
+ } else if (is.Function(item)) {
5689
+ fn = function fn() {
5690
+ return item(_this2.api.form, _this2.api);
5691
+ };
5692
+ } else {
5693
+ var that = this;
5694
+ var formulas = Object.keys(this.fc.formulas).reduce(function (obj, k) {
5695
+ obj[k] = function () {
5696
+ var _that$fc$formulas$k;
5697
+
5698
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5699
+ args[_key] = arguments[_key];
5700
+ }
5701
+
5702
+ return (_that$fc$formulas$k = that.fc.formulas[k]).call.apply(_that$fc$formulas$k, [{
5703
+ that: this,
5704
+ rule: ctx.rule,
5705
+ api: that.api,
5706
+ fc: that.fc
5707
+ }].concat(args));
5708
+ };
5709
+
5710
+ return obj;
5711
+ }, {});
5712
+
5713
+ var _group = ctx.getParentGroup();
5714
+
5715
+ fn = function fn() {
5716
+ return new Function('$formulas', '$form', '$group', '$rule', '$api', "with($form){with(this){with($group){with($formulas){ return ".concat(item, " }}}}")).call(_this2.api.form, formulas, _this2.api.top.form, _group ? _this2.subRuleData[_group.id] || {} : {}, ctx.rule, _this2.api);
5717
+ };
5718
+ }
5719
+
5720
+ return invoke(fn, undefined);
5633
5721
  },
5634
5722
  updateChildren: function updateChildren(ctx, n, o) {
5635
- var _this2 = this;
5723
+ var _this3 = this;
5636
5724
 
5637
5725
  this.deferSyncValue(function () {
5638
5726
  o && o.forEach(function (child) {
5639
5727
  if ((n || []).indexOf(child) === -1 && child && !is.String(child) && child.__fc__ && child.__fc__.parent === ctx) {
5640
- _this2.rmCtx(child.__fc__);
5728
+ _this3.rmCtx(child.__fc__);
5641
5729
  }
5642
5730
  });
5643
5731
 
5644
5732
  if (is.trueArray(n)) {
5645
- _this2.loadChildren(n, ctx);
5733
+ _this3.loadChildren(n, ctx);
5646
5734
 
5647
- _this2.bus.$emit('update', _this2.api);
5735
+ _this3.bus.$emit('update', _this3.api);
5648
5736
  }
5649
5737
  });
5650
5738
  },
5651
5739
  rmSub: function rmSub(sub) {
5652
- var _this3 = this;
5740
+ var _this4 = this;
5653
5741
 
5654
5742
  is.trueArray(sub) && sub.forEach(function (r) {
5655
- r && r.__fc__ && _this3.rmCtx(r.__fc__);
5743
+ r && r.__fc__ && _this4.rmCtx(r.__fc__);
5656
5744
  });
5657
5745
  },
5658
5746
  rmCtx: function rmCtx(ctx) {
5659
- var _this4 = this;
5747
+ var _this5 = this;
5660
5748
 
5661
5749
  if (ctx.deleted) return;
5662
5750
  var id = ctx.id,
@@ -5685,19 +5773,19 @@
5685
5773
  }
5686
5774
 
5687
5775
  this.deferSyncValue(function () {
5688
- if (!_this4.reloading) {
5776
+ if (!_this5.reloading) {
5689
5777
  if (ctx.parser.loadChildren !== false) {
5690
5778
  var children = ctx.getPending('children', ctx.rule.children);
5691
5779
 
5692
5780
  if (is.trueArray(children)) {
5693
5781
  children.forEach(function (h) {
5694
- return h.__fc__ && _this4.rmCtx(h.__fc__);
5782
+ return h.__fc__ && _this5.rmCtx(h.__fc__);
5695
5783
  });
5696
5784
  }
5697
5785
  }
5698
5786
 
5699
- if (ctx.root === _this4.rules) {
5700
- _this4.vm.setupState.renderRule();
5787
+ if (ctx.root === _this5.rules) {
5788
+ _this5.vm.setupState.renderRule();
5701
5789
  }
5702
5790
  }
5703
5791
  }, input);
@@ -5934,6 +6022,9 @@
5934
6022
  },
5935
6023
  bus: function bus() {
5936
6024
  return fc.bus;
6025
+ },
6026
+ preview: function preview() {
6027
+ return fc.vm.props.preview != null ? fc.vm.props.preview : fc.options.value.preview || false;
5937
6028
  }
5938
6029
  });
5939
6030
  extend(this, {
@@ -5981,7 +6072,7 @@
5981
6072
  });
5982
6073
  },
5983
6074
  init: function init() {
5984
- this.appendData = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options.formData || {}), this.fc.vm.props.modelValue || {}), this.appendData);
6075
+ this.updateAppendData();
5985
6076
  this.useProvider();
5986
6077
  this.usePage();
5987
6078
  this.loadRule();
@@ -5990,6 +6081,9 @@
5990
6081
 
5991
6082
  this.lifecycle('created');
5992
6083
  },
6084
+ updateAppendData: function updateAppendData() {
6085
+ this.appendData = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options.formData || {}), this.fc.vm.props.modelValue || {}), this.appendData);
6086
+ },
5993
6087
  isBreakWatch: function isBreakWatch() {
5994
6088
  return this.loading || this.noWatchFn || this.reloading;
5995
6089
  },
@@ -6270,13 +6364,21 @@
6270
6364
  var componentValidate = {
6271
6365
  name: 'componentValidate',
6272
6366
  load: function load(attr, rule, api) {
6273
- var method = attr.getValue();
6367
+ var options = attr.getValue();
6274
6368
 
6275
- if (!method) {
6369
+ if (!options || options.method === false) {
6276
6370
  attr.clearProp();
6277
6371
  api.clearValidateState([rule.field]);
6278
6372
  } else {
6279
- attr.getProp().validate = [{
6373
+ if (!is.Object(options)) {
6374
+ options = {
6375
+ method: options
6376
+ };
6377
+ }
6378
+
6379
+ var method = options.method;
6380
+ delete options.method;
6381
+ attr.getProp().validate = [_objectSpread2(_objectSpread2({}, options), {}, {
6280
6382
  validator: function validator() {
6281
6383
  var ctx = byCtx(rule);
6282
6384
 
@@ -6285,14 +6387,14 @@
6285
6387
  args[_key] = arguments[_key];
6286
6388
  }
6287
6389
 
6288
- return api.exec.apply(api, [ctx.id, method === true ? 'formCreateValidate' : method].concat(args, [{
6390
+ return api.exec.apply(api, [ctx.id, is.String(method) ? method : 'formCreateValidate'].concat(args, [{
6289
6391
  attr: attr,
6290
6392
  rule: rule,
6291
6393
  api: api
6292
6394
  }]));
6293
6395
  }
6294
6396
  }
6295
- }];
6397
+ })];
6296
6398
  }
6297
6399
  },
6298
6400
  watch: function watch() {
@@ -6623,7 +6725,7 @@
6623
6725
 
6624
6726
  function register() {
6625
6727
  var data = nameProp.apply(void 0, arguments);
6626
- if (data.id && data.prop) providers[data.id] = _objectSpread2(_objectSpread2({}, data.prop), {}, {
6728
+ if (data.id && data.prop) providers[data.id] = is.Function(data.prop) ? data.prop : _objectSpread2(_objectSpread2({}, data.prop), {}, {
6627
6729
  name: data.id
6628
6730
  });
6629
6731
  }
@@ -6769,8 +6871,8 @@
6769
6871
  }
6770
6872
  }
6771
6873
 
6772
- function setData(id, data) {
6773
- loadData[id] = data;
6874
+ function _setData(id, data) {
6875
+ deepSet(loadData, id, data);
6774
6876
  refreshData(id);
6775
6877
  }
6776
6878
 
@@ -6786,7 +6888,8 @@
6786
6888
  };
6787
6889
 
6788
6890
  callback._driver = true;
6789
- setData(id, callback);
6891
+
6892
+ _setData(id, callback);
6790
6893
  }
6791
6894
 
6792
6895
  function getData(id, def) {
@@ -6847,8 +6950,6 @@
6847
6950
  },
6848
6951
  drivers: drivers,
6849
6952
  renderDriver: null,
6850
- setData: setData,
6851
- getData: getData,
6852
6953
  refreshData: refreshData,
6853
6954
  loadData: loadData,
6854
6955
  CreateNode: CreateNode,
@@ -6856,7 +6957,8 @@
6856
6957
  unwatch: [],
6857
6958
  options: vue.ref({}),
6858
6959
  extendApiFn: extendApiFn,
6859
- fetchCache: new WeakMap()
6960
+ fetchCache: new WeakMap(),
6961
+ tmpData: {}
6860
6962
  });
6861
6963
  listener.forEach(function (item) {
6862
6964
  _this.bus.$on(item.name, item.callback);
@@ -7044,6 +7146,14 @@
7044
7146
  }
7045
7147
  }
7046
7148
  },
7149
+ setData: function setData(id, data, isGlobal) {
7150
+ if (!isGlobal) {
7151
+ deepSet(this.vm.setupState.top.setupState.fc.tmpData, id, data);
7152
+ this.bus.$emit('$loadData.' + id);
7153
+ } else {
7154
+ _setData(id, data);
7155
+ }
7156
+ },
7047
7157
  getLoadData: function getLoadData(id, def) {
7048
7158
  var val = null;
7049
7159
 
@@ -7064,11 +7174,12 @@
7064
7174
  val = this.globalVarDriver(split.join('.'));
7065
7175
  split = [];
7066
7176
  } else {
7067
- val = getData(id, def);
7177
+ var tmpData = this.vm.setupState.top.setupState.fc.tmpData;
7178
+ val = hasProperty(tmpData, key) ? deepGet(tmpData, id) : getData(key);
7068
7179
  split = [];
7069
7180
  }
7070
7181
 
7071
- if (split.length) {
7182
+ if (val && split.length) {
7072
7183
  val = deepGet(val, split);
7073
7184
  }
7074
7185
  }
@@ -7097,14 +7208,10 @@
7097
7208
  var key = split.shift();
7098
7209
  var key2 = split.shift() || '';
7099
7210
  var callback = debounce(function () {
7100
- if (key !== id) {
7101
- var temp = _this6.getLoadData(id, def);
7211
+ var temp = _this6.getLoadData(id, def);
7102
7212
 
7103
- if (JSON.stringify(temp) !== JSON.stringify(unwatch[id].val)) {
7104
- unwatch[id].val = temp;
7105
- run(true);
7106
- }
7107
- } else {
7213
+ if (JSON.stringify(temp) !== JSON.stringify(unwatch[id].val)) {
7214
+ unwatch[id].val = temp;
7108
7215
  run(true);
7109
7216
  }
7110
7217
  }, 0);
@@ -7204,6 +7311,7 @@
7204
7311
  listener.forEach(function (item) {
7205
7312
  _this7.bus.$off(item.name, item.callback);
7206
7313
  });
7314
+ this.tmpData = {};
7207
7315
  this.unwatch.forEach(function (fn) {
7208
7316
  return fn();
7209
7317
  });
@@ -7226,7 +7334,7 @@
7226
7334
  extendApi: extendApi,
7227
7335
  getData: getData,
7228
7336
  setDataDriver: setDataDriver,
7229
- setData: setData,
7337
+ setData: _setData,
7230
7338
  removeData: removeData,
7231
7339
  refreshData: refreshData,
7232
7340
  maker: maker,
@@ -7644,7 +7752,7 @@
7644
7752
  e.preventDefault();
7645
7753
  }
7646
7754
  },
7647
- "class": [form.className, form["class"], 'form-create', this.options.preview ? 'is-preview' : ''],
7755
+ "class": [form.className, form["class"], 'form-create', this.$handle.preview ? 'is-preview' : ''],
7648
7756
  style: form.style,
7649
7757
  type: 'form'
7650
7758
  };
@@ -7658,13 +7766,13 @@
7658
7766
  ref: ref
7659
7767
  });
7660
7768
  extend(this.rule.props, {
7661
- model: $handle.formData
7769
+ model: _objectSpread2({}, $handle.formData)
7662
7770
  });
7663
7771
  },
7664
7772
  render: function render(children) {
7665
7773
  var _this2 = this;
7666
7774
 
7667
- if (children.slotLen() && !this.options.preview) {
7775
+ if (children.slotLen() && !this.$handle.preview) {
7668
7776
  children.setSlot(undefined, function () {
7669
7777
  return _this2.makeFormBtn();
7670
7778
  });
@@ -8207,7 +8315,7 @@
8207
8315
  function elmFormCreate() {
8208
8316
  return FormCreateFactory({
8209
8317
  ui: 'element-ui',
8210
- version: '3.2.8',
8318
+ version: '3.2.10',
8211
8319
  manager: manager,
8212
8320
  extendApi: extendApi,
8213
8321
  install: install,