set-page-style-disable-pull-down-refresh.uvue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <page-head title="getCurrentPages"></page-head>
  3. <view class="uni-padding-wrap">
  4. <button class="btn btn-get-page-style" type="default" @click="getPageStyle">getPageStyle</button>
  5. <button class="btn btn-set-page-style-1" type="default" @click="setPageStyle(true)">setPageStyle(true)</button>
  6. <button class="btn btn-set-page-style-0" type="default" @click="setPageStyle(false)">setPageStyle(false)</button>
  7. <text class="page-style">当前 PageStyle</text>
  8. <text class="page-style-value">{{pageStyleText}}</text>
  9. <text class="status">状态:</text>
  10. <view class="status-list">
  11. <text>enablePullDownRefresh: {{enablePullDownRefreshStatus}}</text>
  12. </view>
  13. <text class="tips">当前版本仅支持设置属性 enablePullDownRefresh</text>
  14. </view>
  15. </template>
  16. <script>
  17. class Page {
  18. constructor(public route : string) {
  19. }
  20. }
  21. export default {
  22. data() {
  23. return {
  24. checked: false,
  25. pages: [] as Page[],
  26. currentPageStyle: {} as UTSJSONObject,
  27. // TODO
  28. enablePullDownRefreshStatus: true
  29. }
  30. },
  31. computed: {
  32. pageStyleText() : string {
  33. return JSON.stringify(this.currentPageStyle)
  34. }
  35. },
  36. onLoad() {
  37. const pages = getCurrentPages();
  38. const currentPage = pages[pages.length - 1];
  39. this.currentPageStyle = currentPage.getPageStyle();
  40. this.enablePullDownRefreshStatus = this.currentPageStyle["enablePullDownRefresh"] as boolean
  41. },
  42. onPullDownRefresh() {
  43. setTimeout(() => {
  44. uni.stopPullDownRefresh()
  45. }, 3000)
  46. },
  47. methods: {
  48. getPageStyle() {
  49. const pages = getCurrentPages();
  50. const currentPage = pages[pages.length - 1];
  51. this.currentPageStyle = currentPage.getPageStyle();
  52. },
  53. setPageStyle(enable : boolean) {
  54. // 目前仅支持 enablePullDownRefresh
  55. const pages = getCurrentPages();
  56. const currentPage = pages[pages.length - 1];
  57. currentPage.setPageStyle({
  58. enablePullDownRefresh: enable
  59. });
  60. this.enablePullDownRefreshStatus = enable
  61. },
  62. startPullDownRefresh() {
  63. uni.startPullDownRefresh()
  64. }
  65. },
  66. }
  67. </script>
  68. <style>
  69. .btn {
  70. margin-top: 10px;
  71. }
  72. .page-style {
  73. margin-top: 15px;
  74. }
  75. .page-style-value {
  76. margin-top: 5px;
  77. padding: 5px;
  78. background-color: #fff;
  79. width: 100%;
  80. /* #ifdef WEB */
  81. overflow-wrap: break-word;
  82. /* #endif */
  83. }
  84. .status {
  85. margin-top: 20px;
  86. }
  87. .status-list {
  88. margin-top: 5px;
  89. }
  90. .tips {
  91. font-size: 12px;
  92. margin-top: 15px;
  93. opacity: .8;
  94. }
  95. </style>