updateData.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. "use strict";
  2. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  3. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  4. var config = require('../../api/config.js');
  5. function updateData(param) {
  6. var _this = this;
  7. var ctx = this;
  8. if (_typeof(ctx.properties) === 'object') {
  9. ctx.properties.name = ctx.properties.name || '';
  10. ctx.properties.value = ctx.properties.value || null;
  11. Object.keys(ctx.properties).forEach(function (item) {
  12. // didupdate
  13. if (param && param[0][item] === _this.props[item]) {
  14. return false;
  15. }
  16. if (ctx.props[item] !== undefined && typeof ctx.props[item] !== 'function' && item[0] !== '$' && ctx.data[item] !== ctx.props[item]) {
  17. ctx.setData(_defineProperty({}, item, ctx.props[item]));
  18. }
  19. if (typeof ctx.props[item] === 'function' && config.env !== 'production') {
  20. console.warn('外部使用自定义组件时,如果传递参数是函数,请使用props获取,避免使用data获取');
  21. }
  22. });
  23. }
  24. }
  25. module.exports = updateData;