rich-text.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. const htmlSnip = `<div class="div_class">
  2. <h1>Title</h1>
  3. <p class="p">
  4. Life is&nbsp;<i>like</i>&nbsp;a box of
  5. <b>&nbsp;chocolates</b>.
  6. </p>
  7. </div>
  8. `
  9. const nodeSnip = `Page({
  10. data: {
  11. theme: 'light',
  12. nodes: [{
  13. name: 'div',
  14. attrs: {
  15. class: 'div_class',
  16. style: 'line-height: 60px; color: red;'
  17. },
  18. children: [{
  19. type: 'text',
  20. text: 'You never know what you're gonna get.'
  21. }]
  22. }]
  23. }
  24. })
  25. `
  26. Page({
  27. onShareAppMessage() {
  28. return {
  29. title: 'rich-text',
  30. path: 'packageComponent/pages/content/rich-text/rich-text'
  31. }
  32. },
  33. data: {
  34. theme: 'light',
  35. htmlSnip,
  36. nodeSnip,
  37. renderedByHtml: false,
  38. renderedByNode: false,
  39. nodes: [{
  40. name: 'div',
  41. attrs: {
  42. class: 'div_class',
  43. style: 'line-height: 60px; color: #1AAD19;'
  44. },
  45. children: [{
  46. type: 'text',
  47. text: 'You never know what you\'re gonna get.'
  48. }]
  49. }]
  50. },
  51. renderHtml() {
  52. this.setData({
  53. renderedByHtml: true
  54. })
  55. },
  56. renderNode() {
  57. this.setData({
  58. renderedByNode: true
  59. })
  60. },
  61. enterCode(e) {
  62. console.log(e.detail.value)
  63. this.setData({
  64. htmlSnip: e.detail.value
  65. })
  66. },
  67. onLoad() {
  68. this.setData({
  69. theme: wx.getSystemInfoSync().theme || 'light'
  70. })
  71. if (wx.onThemeChange) {
  72. wx.onThemeChange(({theme}) => {
  73. this.setData({theme})
  74. })
  75. }
  76. }
  77. })