index.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. Component({
  2. externalClasses: ['wux-class'],
  3. behaviors: ['wx://form-field'],
  4. relations: {
  5. '../radio/index': {
  6. type: 'child',
  7. linked() {
  8. this.changeValue()
  9. },
  10. linkChanged() {
  11. this.changeValue()
  12. },
  13. unlinked() {
  14. this.changeValue()
  15. },
  16. },
  17. },
  18. properties: {
  19. value: {
  20. type: String,
  21. value: '',
  22. observer: 'changeValue',
  23. },
  24. title: {
  25. type: String,
  26. value: '',
  27. },
  28. label: {
  29. type: String,
  30. value: '',
  31. },
  32. },
  33. methods: {
  34. changeValue(value = this.data.value) {
  35. const elements = this.getRelationNodes('../radio/index')
  36. if (elements.length > 0) {
  37. elements.forEach((element, index) => {
  38. element.changeValue(value === element.data.value, index)
  39. })
  40. }
  41. },
  42. emitEvent(value) {
  43. this.triggerEvent('change', value)
  44. },
  45. },
  46. })