template.code-snippets 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. {
  2. "page": {
  3. "prefix": "page",
  4. "scope": "vue",
  5. "body": [
  6. "<template>",
  7. " <cl-page>",
  8. " <view class=\"p-3\">",
  9. " $1",
  10. " </view>",
  11. " </cl-page>",
  12. "</template>",
  13. "",
  14. "<script lang=\"ts\" setup>",
  15. "import { router } from \"@/cool\";",
  16. "",
  17. "</script>",
  18. "",
  19. "<style lang=\"scss\" scoped>",
  20. "",
  21. "</style>",
  22. ""
  23. ],
  24. "description": "page snippets"
  25. },
  26. "popup": {
  27. "prefix": "popup",
  28. "scope": "vue",
  29. "body": [
  30. "<template>",
  31. " <cl-popup v-model=\"visible\">",
  32. " <view class=\"component$1\"> </view>",
  33. " </cl-popup>",
  34. "</template>",
  35. "",
  36. "<script lang=\"ts\" setup>",
  37. "import { ref } from \"vue\";",
  38. "import { router } from \"@/cool\";",
  39. "",
  40. "// 是否可见",
  41. "const visible = ref(false);",
  42. "",
  43. "// 打开",
  44. "function open() {",
  45. " visible.value = true;",
  46. "}",
  47. "",
  48. "// 关闭",
  49. "function close() {",
  50. " visible.value = false;",
  51. "}",
  52. "",
  53. "defineExpose({",
  54. " open,",
  55. " close,",
  56. "});",
  57. "</script>",
  58. "",
  59. "<style lang=\"scss\" scoped>",
  60. "",
  61. "</style>",
  62. ""
  63. ],
  64. "description": "popup snippets"
  65. },
  66. "pager": {
  67. "prefix": "list-view-refresh",
  68. "scope": "vue",
  69. "body": [
  70. "<template>",
  71. " <cl-list-view",
  72. " :data=\"listView\"",
  73. " :virtual=\"false\"",
  74. " :pt=\"{",
  75. " refresher: {",
  76. " className: 'pt-3'",
  77. " }",
  78. " }\"",
  79. " :refresher-enabled=\"true\"",
  80. " @pull=\"onPull\"",
  81. " @bottom=\"loadMore\"",
  82. " >",
  83. " <template #item=\"{ value }\">",
  84. " <view class=\"p-3\">",
  85. " $1",
  86. " </view>",
  87. " </template>",
  88. " </cl-list-view>",
  89. "</template>",
  90. "",
  91. "<script lang=\"ts\" setup>",
  92. "import { ref } from \"vue\";",
  93. "import { usePager, request } from \"@/cool\";",
  94. "import { useUi } from \"@/uni_modules/cool-ui\";",
  95. "",
  96. "const ui = useUi();",
  97. "",
  98. "const listViewRef = ref<ClListViewComponentPublicInstance | null>(null);",
  99. "",
  100. "const { refresh, listView, loading, loadMore } = usePager((params, { render }) => {",
  101. " request({ $1 }).then((res) => {",
  102. " if (res != null) {",
  103. " render(res);",
  104. " }",
  105. " });",
  106. "});",
  107. "",
  108. "async function onPull() {",
  109. " await refresh({ page: 1 });",
  110. " listViewRef.value!.stopRefresh();",
  111. "}",
  112. "",
  113. "onReady(() => {",
  114. " ui.showLoading(\"加载中\");",
  115. " refresh({",
  116. " page: 1,",
  117. " size: 20,",
  118. " });",
  119. "});",
  120. ""
  121. ],
  122. "description": "list-view refresh snippets"
  123. }
  124. }