checkbox.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. Page({
  2. onShareAppMessage() {
  3. return {
  4. title: 'checkbox',
  5. path: 'packageComponent/pages/form/checkbox/checkbox'
  6. }
  7. },
  8. data: {
  9. theme: 'light',
  10. items: [
  11. {value: 'USA', name: '美国'},
  12. {value: 'CHN', name: '中国', checked: 'true'},
  13. {value: 'BRA', name: '巴西'},
  14. {value: 'JPN', name: '日本'},
  15. {value: 'ENG', name: '英国'},
  16. {value: 'FRA', name: '法国'}
  17. ]
  18. },
  19. checkboxChange(e) {
  20. console.log('checkbox发生change事件,携带value值为:', e.detail.value)
  21. const items = this.data.items
  22. const values = e.detail.value
  23. for (let i = 0, lenI = items.length; i < lenI; ++i) {
  24. items[i].checked = false
  25. for (let j = 0, lenJ = values.length; j < lenJ; ++j) {
  26. if (items[i].value === values[j]) {
  27. items[i].checked = true
  28. break
  29. }
  30. }
  31. }
  32. this.setData({
  33. items
  34. })
  35. },
  36. onLoad() {
  37. this.setData({
  38. theme: wx.getSystemInfoSync().theme || 'light'
  39. })
  40. if (wx.onThemeChange) {
  41. wx.onThemeChange(({theme}) => {
  42. this.setData({theme})
  43. })
  44. }
  45. }
  46. })