updateData.js 902 B

123456789101112131415161718192021222324
  1. const config = require('../../api/config.js')
  2. function updateData(param) {
  3. const ctx = this
  4. if (typeof ctx.properties === 'object') {
  5. ctx.properties.name = ctx.properties.name || ''
  6. ctx.properties.value = ctx.properties.value || null
  7. Object.keys(ctx.properties)
  8. .forEach((item) => {
  9. // didupdate
  10. if (param && param[0][item] === this.props[item]) { return false }
  11. if (ctx.props[item] !== undefined && typeof ctx.props[item] !== 'function' && item[0] !== '$' && ctx.data[item] !== ctx.props[item]) {
  12. ctx.setData({
  13. [item]: ctx.props[item],
  14. })
  15. }
  16. if (typeof ctx.props[item] === 'function' && config.env !== 'production') {
  17. console.warn('外部使用自定义组件时,如果传递参数是函数,请使用props获取,避免使用data获取')
  18. }
  19. })
  20. }
  21. }
  22. module.exports = updateData