label.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. Page({
  2. onShareAppMessage() {
  3. return {
  4. title: 'label',
  5. path: 'packageComponent/pages/form/label/label'
  6. }
  7. },
  8. data: {
  9. theme: 'light',
  10. checkboxItems: [
  11. {name: 'USA', value: '美国'},
  12. {name: 'CHN', value: '中国', checked: 'true'}
  13. ],
  14. radioItems: [
  15. {name: 'USA', value: '美国'},
  16. {name: 'CHN', value: '中国', checked: 'true'}
  17. ],
  18. hidden: false
  19. },
  20. checkboxChange(e) {
  21. const checked = e.detail.value
  22. const changed = {}
  23. for (let i = 0; i < this.data.checkboxItems.length; i++) {
  24. if (checked.indexOf(this.data.checkboxItems[i].name) !== -1) {
  25. changed[`checkboxItems[${i}].checked`] = true
  26. } else {
  27. changed[`checkboxItems[${i}].checked`] = false
  28. }
  29. }
  30. this.setData(changed)
  31. },
  32. radioChange(e) {
  33. const checked = e.detail.value
  34. const changed = {}
  35. for (let i = 0; i < this.data.radioItems.length; i++) {
  36. if (checked.indexOf(this.data.radioItems[i].name) !== -1) {
  37. changed[`radioItems[${i}].checked`] = true
  38. } else {
  39. changed[`radioItems[${i}].checked`] = false
  40. }
  41. }
  42. this.setData(changed)
  43. },
  44. tapEvent() {
  45. console.log('按钮被点击')
  46. },
  47. onLoad() {
  48. this.setData({
  49. theme: wx.getSystemInfoSync().theme || 'light'
  50. })
  51. if (wx.onThemeChange) {
  52. wx.onThemeChange(({theme}) => {
  53. this.setData({theme})
  54. })
  55. }
  56. }
  57. })