vue-lazy-cascader 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Vue Lazy Cascader 是一个vue2级联选择器组件,基于 element-ui 的级联组件。它保留了 el-cascader 的完整功能,并增加了滚动加载和远程搜索功能。
4
4
 
5
- ## 安装
5
+ ## Install
6
6
 
7
7
  您可以通过 npm、yarn 或 pnpm 来安装 Vue Lazy Cascader。
8
8
 
@@ -24,10 +24,7 @@ yarn add vue-lazy-cascader
24
24
  pnpm install vue-lazy-cascader --save
25
25
  ```
26
26
 
27
- ## Tip
28
- 由于该组件并未打包element-ui相关组件,所以使用时,必须已经安装element-ui。
29
-
30
- ## 使用方法
27
+ ## Usage
31
28
 
32
29
  - [es模块示例](./src/components/VueLazyCascaderExample.vue)
33
30
 
@@ -36,3 +33,8 @@ pnpm install vue-lazy-cascader --save
36
33
  ```
37
34
 
38
35
  - [直接script引入示例](./example/index.html)
36
+
37
+ ## Tip
38
+ - 由于该组件并未打包element-ui相关组件,所以使用时,必须已经安装element-ui。
39
+ - 级联value必须唯一,否则会出错。例如相同value的子节点无法插入到不同的父节点下(待修复)
40
+ - 是否是最后一页要判断准确,不能单纯用已加载和接口返回相加数量 == total进行判断,因为接口返回的可能已经加载过了。[详情请看代码(搜索时候会把搜索结果append到节点store中)](./src/components/cascader/src/cascader.vue)
@@ -4966,12 +4966,12 @@ main.install = function (Vue) {
4966
4966
  Vue.component(main.name, main);
4967
4967
  };
4968
4968
  /* harmony default export */ var scrollbar = (main);
4969
- ;// CONCATENATED MODULE: ./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.91.0/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.91.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/cascader-panel/src/cascader-panel.vue?vue&type=template&id=3390d712
4970
- var cascader_panelvue_type_template_id_3390d712_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[
4969
+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.91.0/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.91.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/cascader-panel/src/cascader-panel.vue?vue&type=template&id=082e5e2b
4970
+ var cascader_panelvue_type_template_id_082e5e2b_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[
4971
4971
  'el-cascader-panel',
4972
4972
  _vm.border && 'is-bordered'
4973
4973
  ],on:{"keydown":_vm.handleKeyDown}},_vm._l((_vm.menus),function(menu,index){return _c('cascader-menu',{key:index,ref:"menu",refInFor:true,attrs:{"index":index,"nodes":menu},on:{"menu-scroll-bottom":function (parentNode, resolve) { return _vm.$emit('menu-scroll-bottom', parentNode, resolve); }}})}),1)}
4974
- var cascader_panelvue_type_template_id_3390d712_staticRenderFns = []
4974
+ var cascader_panelvue_type_template_id_082e5e2b_staticRenderFns = []
4975
4975
 
4976
4976
 
4977
4977
  // EXTERNAL MODULE: ./node_modules/.pnpm/@vue+babel-helper-vue-jsx-merge-props@1.4.0/node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js
@@ -5440,7 +5440,7 @@ const stopPropagation = e => e.stopPropagation();
5440
5440
  } = config;
5441
5441
  if (!checkStrictly && isDisabled || node.loading) return;
5442
5442
 
5443
- // 如果是动态加载并且当前节点还没加载完
5443
+ // 如果是动态加载并且当前节点还没加载
5444
5444
  if (config.lazy && !node.loaded) {
5445
5445
  panel.lazyLoad(node, () => {
5446
5446
  // 动态加载后的回调
@@ -5806,6 +5806,7 @@ var cascader_node_component = normalizeComponent(
5806
5806
  });
5807
5807
  return;
5808
5808
  }
5809
+ this.$parent.$parent.computePresentContent();
5809
5810
  toAppendData.forEach(d => {
5810
5811
  this.panel.store.appendNode(d, parentNode);
5811
5812
  });
@@ -6459,6 +6460,8 @@ const checkNode = el => {
6459
6460
  const value = multiple ? checkedValue[0] : checkedValue;
6460
6461
  const checkedNode = this.getNodeByValue(value) || {};
6461
6462
  const nodes = (checkedNode.pathNodes || []).slice(0, -1);
6463
+ const hasUnLoaded = nodes.some(n => n.loaded === false);
6464
+ if (hasUnLoaded) return;
6462
6465
  this.expandNodes(nodes);
6463
6466
  } else {
6464
6467
  this.activePath = [];
@@ -6660,8 +6663,8 @@ const checkNode = el => {
6660
6663
  ;
6661
6664
  var cascader_panel_component = normalizeComponent(
6662
6665
  src_cascader_panelvue_type_script_lang_js,
6663
- cascader_panelvue_type_template_id_3390d712_render,
6664
- cascader_panelvue_type_template_id_3390d712_staticRenderFns,
6666
+ cascader_panelvue_type_template_id_082e5e2b_render,
6667
+ cascader_panelvue_type_template_id_082e5e2b_staticRenderFns,
6665
6668
  false,
6666
6669
  null,
6667
6670
  null,