fa-u-tabs.js 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484
  1. (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/fa-u-tabs/fa-u-tabs"],{
  2. /***/ 559:
  3. /*!*******************************************************************!*\
  4. !*** E:/www/ririduojin/uniapp/components/fa-u-tabs/fa-u-tabs.vue ***!
  5. \*******************************************************************/
  6. /*! no static exports found */
  7. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8. "use strict";
  9. __webpack_require__.r(__webpack_exports__);
  10. /* harmony import */ var _fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fa-u-tabs.vue?vue&type=template&id=e874c4d4&scoped=true& */ 560);
  11. /* harmony import */ var _fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fa-u-tabs.vue?vue&type=script&lang=js& */ 562);
  12. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  13. /* harmony import */ var _fa_u_tabs_vue_vue_type_style_index_0_id_e874c4d4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fa-u-tabs.vue?vue&type=style&index=0&id=e874c4d4&lang=scss&scoped=true& */ 564);
  14. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14);
  15. var renderjs
  16. /* normalize component */
  17. var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
  18. _fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
  19. _fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
  20. _fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
  21. false,
  22. null,
  23. "e874c4d4",
  24. null,
  25. false,
  26. _fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
  27. renderjs
  28. )
  29. component.options.__file = "components/fa-u-tabs/fa-u-tabs.vue"
  30. /* harmony default export */ __webpack_exports__["default"] = (component.exports);
  31. /***/ }),
  32. /***/ 560:
  33. /*!**************************************************************************************************************!*\
  34. !*** E:/www/ririduojin/uniapp/components/fa-u-tabs/fa-u-tabs.vue?vue&type=template&id=e874c4d4&scoped=true& ***!
  35. \**************************************************************************************************************/
  36. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  37. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  38. "use strict";
  39. __webpack_require__.r(__webpack_exports__);
  40. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./fa-u-tabs.vue?vue&type=template&id=e874c4d4&scoped=true& */ 561);
  41. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
  42. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  43. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  44. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_template_id_e874c4d4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
  45. /***/ }),
  46. /***/ 561:
  47. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  48. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!E:/www/ririduojin/uniapp/components/fa-u-tabs/fa-u-tabs.vue?vue&type=template&id=e874c4d4&scoped=true& ***!
  49. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  50. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  51. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  52. "use strict";
  53. __webpack_require__.r(__webpack_exports__);
  54. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  55. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  56. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  57. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  58. var components
  59. var render = function() {
  60. var _vm = this
  61. var _h = _vm.$createElement
  62. var _c = _vm._self._c || _h
  63. var l0 = _vm.__map(_vm.list, function(item, index) {
  64. var $orig = _vm.__get_orig(item)
  65. var s0 = _vm.__get_style([_vm.tabItemStyle(index)])
  66. return {
  67. $orig: $orig,
  68. s0: s0
  69. }
  70. })
  71. var s1 = _vm.showBar ? _vm.__get_style([_vm.tabBarStyle]) : null
  72. _vm.$mp.data = Object.assign(
  73. {},
  74. {
  75. $root: {
  76. l0: l0,
  77. s1: s1
  78. }
  79. }
  80. )
  81. }
  82. var recyclableRender = false
  83. var staticRenderFns = []
  84. render._withStripped = true
  85. /***/ }),
  86. /***/ 562:
  87. /*!********************************************************************************************!*\
  88. !*** E:/www/ririduojin/uniapp/components/fa-u-tabs/fa-u-tabs.vue?vue&type=script&lang=js& ***!
  89. \********************************************************************************************/
  90. /*! no static exports found */
  91. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  92. "use strict";
  93. __webpack_require__.r(__webpack_exports__);
  94. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./fa-u-tabs.vue?vue&type=script&lang=js& */ 563);
  95. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
  96. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  97. /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
  98. /***/ }),
  99. /***/ 563:
  100. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  101. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!E:/www/ririduojin/uniapp/components/fa-u-tabs/fa-u-tabs.vue?vue&type=script&lang=js& ***!
  102. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  103. /*! no static exports found */
  104. /***/ (function(module, exports, __webpack_require__) {
  105. "use strict";
  106. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 8));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);}_next(undefined);});};} //
  107. //
  108. //
  109. //
  110. //
  111. //
  112. //
  113. //
  114. //
  115. //
  116. //
  117. //
  118. //
  119. //
  120. //
  121. //
  122. //
  123. //
  124. //
  125. /**
  126. * tabs 标签
  127. * @description 该组件,是一个tabs标签组件,在标签多的时候,可以配置为左右滑动,标签少的时候,可以禁止滑动。 该组件的一个特点是配置为滚动模式时,激活的tab会自动移动到组件的中间位置。
  128. * @tutorial https://www.uviewui.com/components/tabs.html
  129. * @property {Boolean} is-scroll tabs是否可以左右拖动(默认true)
  130. * @property {Array} list 标签数组,元素为对象,如[{name: '推荐'}]
  131. * @property {String Number} current 指定哪个tab为激活状态(默认0)
  132. * @property {String Number} height 导航栏的高度,单位rpx(默认80)
  133. * @property {String Number} font-size tab文字大小,单位rpx(默认30)
  134. * @property {String Number} duration 滑块移动一次所需的时间,单位秒(默认0.5)
  135. * @property {String} active-color 滑块和激活tab文字的颜色(默认#2979ff)
  136. * @property {String} inactive-color tabs文字颜色(默认#303133)
  137. * @property {String Number} bar-width 滑块宽度,单位rpx(默认40)
  138. * @property {Object} active-item-style 活动tabs item的样式,对象形式
  139. * @property {Object} bar-style 底部滑块的样式,对象形式
  140. * @property {Boolean} show-bar 是否显示底部的滑块(默认true)
  141. * @property {String Number} bar-height 滑块高度,单位rpx(默认6)
  142. * @property {String Number} item-width 标签的宽度(默认auto)
  143. * @property {String Number} gutter 单个tab标签的左右内边距之和,单位rpx(默认40)
  144. * @property {String} bg-color tabs导航栏的背景颜色(默认#ffffff)
  145. * @property {String} name 组件内部读取的list参数中的属性名,见官网说明(默认name)
  146. * @property {Boolean} bold 激活选项的字体是否加粗(默认true)
  147. * @event {Function} change 点击标签时触发
  148. * @example <u-tabs ref="tabs" :list="list" :is-scroll="false"></u-tabs>
  149. */var _default2 =
  150. {
  151. name: "fa-u-tabs",
  152. props: {
  153. // 导航菜单是否需要滚动,如只有2或者3个的时候,就不需要滚动了,此时使用flex平分tab的宽度
  154. isScroll: {
  155. type: Boolean,
  156. default: true },
  157. //需循环的标签列表
  158. list: {
  159. type: Array,
  160. default: function _default() {
  161. return [];
  162. } },
  163. // 当前活动tab的索引
  164. current: {
  165. type: [Number, String],
  166. default: 0 },
  167. // 导航栏的高度和行高
  168. height: {
  169. type: [String, Number],
  170. default: 80 },
  171. // 字体大小
  172. fontSize: {
  173. type: [String, Number],
  174. default: 30 },
  175. // 过渡动画时长, 单位ms
  176. duration: {
  177. type: [String, Number],
  178. default: 0.5 },
  179. // 选中项的主题颜色
  180. activeColor: {
  181. type: String,
  182. default: '#2979ff' },
  183. // 未选中项的颜色
  184. inactiveColor: {
  185. type: String,
  186. default: '#303133' },
  187. // 菜单底部移动的bar的宽度,单位rpx
  188. barWidth: {
  189. type: [String, Number],
  190. default: 40 },
  191. // 移动bar的高度
  192. barHeight: {
  193. type: [String, Number],
  194. default: 6 },
  195. // 单个tab的左或有内边距(左右相同)
  196. gutter: {
  197. type: [String, Number],
  198. default: 30 },
  199. // 导航栏的背景颜色
  200. bgColor: {
  201. type: String,
  202. default: '#ffffff' },
  203. // 读取传入的数组对象的属性
  204. name: {
  205. type: String,
  206. default: 'name' },
  207. // 活动tab字体是否加粗
  208. bold: {
  209. type: Boolean,
  210. default: true },
  211. // 当前活动tab item的样式
  212. activeItemStyle: {
  213. type: Object,
  214. default: function _default() {
  215. return {};
  216. } },
  217. // 是否显示底部的滑块
  218. showBar: {
  219. type: Boolean,
  220. default: true },
  221. // 底部滑块的自定义样式
  222. barStyle: {
  223. type: Object,
  224. default: function _default() {
  225. return {};
  226. } },
  227. // 标签的宽度
  228. itemWidth: {
  229. type: [Number, String],
  230. default: 'auto' } },
  231. data: function data() {
  232. return {
  233. scrollLeft: 0, // 滚动scroll-view的左边滚动距离
  234. tabQueryInfo: [], // 存放对tab菜单查询后的节点信息
  235. componentWidth: 0, // 屏幕宽度,单位为px
  236. scrollBarLeft: 0, // 移动bar需要通过translateX()移动的距离
  237. parentLeft: 0, // 父元素(tabs组件)到屏幕左边的距离
  238. id: this.$u.guid(), // id值
  239. currentIndex: this.current,
  240. barFirstTimeMove: true // 滑块第一次移动时(页面刚生成时),无需动画,否则给人怪异的感觉
  241. };
  242. },
  243. watch: {
  244. // 监听tab的变化,重新计算tab菜单的布局信息,因为实际使用中菜单可能是通过
  245. // 后台获取的(如新闻app顶部的菜单),获取返回需要一定时间,所以list变化时,重新获取布局信息
  246. list: function list(n, o) {var _this = this;
  247. // list变动时,重制内部索引,否则可能导致超出数组边界的情况
  248. if (n.length !== o.length) this.currentIndex = 0;
  249. // 用$nextTick等待视图更新完毕后再计算tab的局部信息,否则可能因为tab还没生成就获取,就会有问题
  250. this.$nextTick(function () {
  251. _this.init();
  252. });
  253. },
  254. current: {
  255. immediate: true,
  256. handler: function handler(nVal, oVal) {var _this2 = this;
  257. // 视图更新后再执行移动操作
  258. this.$nextTick(function () {
  259. _this2.currentIndex = nVal;
  260. _this2.scrollByIndex();
  261. });
  262. } } },
  263. computed: {
  264. // 移动bar的样式
  265. tabBarStyle: function tabBarStyle() {
  266. var style = {
  267. width: this.barWidth + 'rpx',
  268. transform: "translate(".concat(this.scrollBarLeft, "px, -100%)"),
  269. // 滑块在页面渲染后第一次滑动时,无需动画效果
  270. 'transition-duration': "".concat(this.barFirstTimeMove ? 0 : this.duration, "s"),
  271. 'background-color': this.activeColor,
  272. height: this.barHeight + 'rpx',
  273. // 设置一个很大的值,它会自动取能用的最大值,不用高度的一半,是因为高度可能是单数,会有小数出现
  274. 'border-radius': "".concat(this.barHeight / 2, "px") };
  275. Object.assign(style, this.barStyle);
  276. return style;
  277. },
  278. // tab的样式
  279. tabItemStyle: function tabItemStyle() {var _this3 = this;
  280. return function (index) {
  281. var style = {
  282. height: _this3.height + 'rpx',
  283. 'line-height': _this3.height + 'rpx',
  284. 'font-size': _this3.fontSize + 'rpx',
  285. 'transition-duration': "".concat(_this3.duration, "s"),
  286. padding: _this3.isScroll ? "0 ".concat(_this3.gutter, "rpx") : '',
  287. flex: _this3.isScroll ? 'auto' : '1',
  288. width: _this3.$u.addUnit(_this3.itemWidth) };
  289. // 字体加粗
  290. if (index == _this3.currentIndex && _this3.bold) style.fontWeight = 'bold';
  291. if (index == _this3.currentIndex) {
  292. style.color = _this3.activeColor;
  293. // 给选中的tab item添加外部自定义的样式
  294. style = Object.assign(style, _this3.activeItemStyle);
  295. } else {
  296. style.color = _this3.inactiveColor;
  297. }
  298. return style;
  299. };
  300. } },
  301. methods: {
  302. // 设置一个init方法,方便多处调用
  303. init: function init() {var _this4 = this;return _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee() {var tabRect;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return (
  304. _this4.faGetRect('#' + _this4.id));case 2:tabRect = _context.sent;
  305. // tabs组件距离屏幕左边的宽度
  306. _this4.parentLeft = tabRect.left;
  307. // tabs组件的宽度
  308. _this4.componentWidth = tabRect.right;
  309. _this4.getTabRect();case 6:case "end":return _context.stop();}}}, _callee);}))();
  310. },
  311. faGetRect: function faGetRect(selector, all) {
  312. return new Promise(function (resolve) {
  313. uni.createSelectorQuery()[all ? 'selectAll' : 'select'](selector).
  314. boundingClientRect(function (rect) {
  315. if (all && Array.isArray(rect) && rect.length) {
  316. resolve(rect);
  317. }
  318. if (!all && rect) {
  319. resolve(rect);
  320. }
  321. }).
  322. exec();
  323. });
  324. },
  325. // 点击某一个tab菜单
  326. clickTab: function clickTab(index) {
  327. // 点击当前活动tab,不触发事件
  328. if (index == this.currentIndex) return;
  329. // 发送事件给父组件
  330. this.$emit('change', index);
  331. },
  332. // 查询tab的布局信息
  333. getTabRect: function getTabRect() {
  334. // 创建节点查询
  335. var query = uni.createSelectorQuery();
  336. // 历遍所有tab,这里是执行了查询,最终使用exec()会一次性返回查询的数组结果
  337. for (var i = 0; i < this.list.length; i++) {
  338. // 只要size和rect两个参数
  339. query.select("#u-tab-item-".concat(i)).fields({
  340. size: true,
  341. rect: true });
  342. }
  343. // 执行查询,一次性获取多个结果
  344. query.exec(
  345. function (res) {
  346. this.tabQueryInfo = res;
  347. // 初始化滚动条和移动bar的位置
  348. this.scrollByIndex();
  349. }.bind(this));
  350. },
  351. // 滚动scroll-view,让活动的tab处于屏幕的中间位置
  352. scrollByIndex: function () {var _scrollByIndex = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee2() {var _this5 = this;var tabInfo, tabWidth, offsetLeft, scrollLeft, left;return _regenerator.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:
  353. // 当前活动tab的布局信息,有tab菜单的width和left(为元素左边界到父元素左边界的距离)等信息
  354. tabInfo = this.tabQueryInfo[this.currentIndex];if (
  355. tabInfo) {_context2.next = 3;break;}return _context2.abrupt("return");case 3:
  356. // 活动tab的宽度
  357. tabWidth = tabInfo.width;
  358. // 活动item的左边到tabs组件左边的距离,用item的left减去tabs的left
  359. offsetLeft = tabInfo.left - this.parentLeft;
  360. // 将活动的tabs-item移动到屏幕正中间,实际上是对scroll-view的移动
  361. scrollLeft = offsetLeft - (this.componentWidth - tabWidth) / 2;
  362. this.scrollLeft = scrollLeft < 0 ? 0 : scrollLeft;
  363. // 当前活动item的中点点到左边的距离减去滑块宽度的一半,即可得到滑块所需的移动距离
  364. left = tabInfo.left + tabInfo.width / 2 - this.parentLeft;
  365. // 计算当前活跃item到组件左边的距离
  366. this.scrollBarLeft = left - uni.upx2px(this.barWidth) / 2;
  367. // 第一次移动滑块的时候,barFirstTimeMove为true,放到延时中将其设置false
  368. // 延时是因为scrollBarLeft作用于computed计算时,需要一个过程需,否则导致出错
  369. if (this.barFirstTimeMove == true) {
  370. setTimeout(function () {
  371. _this5.barFirstTimeMove = false;
  372. }, 100);
  373. }case 10:case "end":return _context2.stop();}}}, _callee2, this);}));function scrollByIndex() {return _scrollByIndex.apply(this, arguments);}return scrollByIndex;}() },
  374. mounted: function mounted() {var _this6 = this;
  375. setTimeout(function () {
  376. _this6.init();
  377. }, 1000);
  378. } };exports.default = _default2;
  379. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-baidu/dist/index.js */ 1)["default"]))
  380. /***/ }),
  381. /***/ 564:
  382. /*!*****************************************************************************************************************************!*\
  383. !*** E:/www/ririduojin/uniapp/components/fa-u-tabs/fa-u-tabs.vue?vue&type=style&index=0&id=e874c4d4&lang=scss&scoped=true& ***!
  384. \*****************************************************************************************************************************/
  385. /*! no static exports found */
  386. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  387. "use strict";
  388. __webpack_require__.r(__webpack_exports__);
  389. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_style_index_0_id_e874c4d4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./fa-u-tabs.vue?vue&type=style&index=0&id=e874c4d4&lang=scss&scoped=true& */ 565);
  390. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_style_index_0_id_e874c4d4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_style_index_0_id_e874c4d4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
  391. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_style_index_0_id_e874c4d4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_style_index_0_id_e874c4d4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  392. /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_fa_u_tabs_vue_vue_type_style_index_0_id_e874c4d4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
  393. /***/ }),
  394. /***/ 565:
  395. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  396. !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!E:/www/ririduojin/uniapp/components/fa-u-tabs/fa-u-tabs.vue?vue&type=style&index=0&id=e874c4d4&lang=scss&scoped=true& ***!
  397. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  398. /*! no static exports found */
  399. /***/ (function(module, exports, __webpack_require__) {
  400. // extracted by mini-css-extract-plugin
  401. if(false) { var cssReload; }
  402. /***/ })
  403. }]);
  404. ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
  405. 'components/fa-u-tabs/fa-u-tabs-create-component',
  406. {
  407. 'components/fa-u-tabs/fa-u-tabs-create-component':(function(module, exports, __webpack_require__){
  408. __webpack_require__('1')['createComponent'](__webpack_require__(559))
  409. })
  410. },
  411. [['components/fa-u-tabs/fa-u-tabs-create-component']]
  412. ]);