@netang/quasar 0.1.81 → 0.1.83
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.
|
@@ -277,7 +277,11 @@ export default {
|
|
|
277
277
|
query: Object,
|
|
278
278
|
// 附加请求数据
|
|
279
279
|
data: Object,
|
|
280
|
-
//
|
|
280
|
+
// 初始加载已选数据数组
|
|
281
|
+
// 如果有数组数据, 则初始化时从数组中选取已有的数据
|
|
282
|
+
defaultLoadSelected: Array,
|
|
283
|
+
// 初始是否不加载已选数据
|
|
284
|
+
// true, 则初始时不加载数据(同时 defaultLoadSelected 无效)
|
|
281
285
|
noDefaultLoadSelected: Boolean,
|
|
282
286
|
// 更新值时不加载已选数据
|
|
283
287
|
noUpdateLoadSelected: Boolean,
|
|
@@ -330,6 +334,7 @@ export default {
|
|
|
330
334
|
* 声明事件
|
|
331
335
|
*/
|
|
332
336
|
emits: [
|
|
337
|
+
'loaded',
|
|
333
338
|
'update:modelValue',
|
|
334
339
|
'update:selected',
|
|
335
340
|
],
|
|
@@ -496,8 +501,16 @@ export default {
|
|
|
496
501
|
const selected = ref(valueToSelected(props.modelValue, true, true))
|
|
497
502
|
|
|
498
503
|
// 加载已选数据
|
|
499
|
-
|
|
500
|
-
.
|
|
504
|
+
if (
|
|
505
|
+
! props.noDefaultLoadSelected
|
|
506
|
+
&& props.defaultLoadSelected === void 0
|
|
507
|
+
) {
|
|
508
|
+
loadSelected()
|
|
509
|
+
.finally()
|
|
510
|
+
} else {
|
|
511
|
+
// 初始化加载成功
|
|
512
|
+
emit('loaded', selected.value)
|
|
513
|
+
}
|
|
501
514
|
|
|
502
515
|
// ==========【监听数据】=========================================================================================
|
|
503
516
|
|
|
@@ -627,17 +640,34 @@ export default {
|
|
|
627
640
|
await $table.tableReload()
|
|
628
641
|
})
|
|
629
642
|
|
|
643
|
+
/**
|
|
644
|
+
* 监听其他值
|
|
645
|
+
*/
|
|
646
|
+
// watch([
|
|
647
|
+
// ()=>props.path,
|
|
648
|
+
// ()=>props.url,
|
|
649
|
+
// ()=>props.query,
|
|
650
|
+
// ()=>props.data,
|
|
651
|
+
// ()=>props.showKeys,
|
|
652
|
+
// ()=>props.hideSearchKeys,
|
|
653
|
+
// ], function () {
|
|
654
|
+
// _dialogShowed = false
|
|
655
|
+
// _popupShowed = false
|
|
656
|
+
//
|
|
657
|
+
// }, {
|
|
658
|
+
// deep: true
|
|
659
|
+
// })
|
|
660
|
+
|
|
630
661
|
// ==========【方法】=============================================================================================
|
|
631
662
|
|
|
632
663
|
/**
|
|
633
664
|
* 加载已选数据
|
|
634
665
|
*/
|
|
635
666
|
async function loadSelected() {
|
|
667
|
+
|
|
636
668
|
if (
|
|
637
669
|
// 如果值类型不是数组对象
|
|
638
670
|
props.valueType !== 'objectArray'
|
|
639
|
-
// 如果初始加载已选数据
|
|
640
|
-
&& ! props.noDefaultLoadSelected
|
|
641
671
|
// 如果有请求路由路径
|
|
642
672
|
&& routePath
|
|
643
673
|
) {
|
|
@@ -659,12 +689,17 @@ export default {
|
|
|
659
689
|
// 触发更新值
|
|
660
690
|
emit('update:modelValue', _value)
|
|
661
691
|
}
|
|
692
|
+
|
|
693
|
+
// 初始化加载成功
|
|
694
|
+
emit('loaded', _selected)
|
|
662
695
|
return
|
|
663
696
|
}
|
|
664
697
|
}
|
|
665
698
|
|
|
666
699
|
// 触发更新已选数据
|
|
667
700
|
emit('update:selected', selected.value)
|
|
701
|
+
// 初始化加载成功
|
|
702
|
+
emit('loaded', selected.value)
|
|
668
703
|
}
|
|
669
704
|
|
|
670
705
|
/**
|
|
@@ -743,11 +778,41 @@ export default {
|
|
|
743
778
|
return val
|
|
744
779
|
}
|
|
745
780
|
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
781
|
+
// 如果为初始化
|
|
782
|
+
if (isFirst) {
|
|
783
|
+
if (
|
|
784
|
+
// 如果初始加载已选数据方法
|
|
785
|
+
! props.noDefaultLoadSelected
|
|
786
|
+
// 如果有初始加载已选数据数组
|
|
787
|
+
&& props.defaultLoadSelected !== void 0
|
|
788
|
+
&& $n_isValidArray(props.defaultLoadSelected)
|
|
789
|
+
) {
|
|
790
|
+
// 将值转为数组
|
|
791
|
+
val = props.valueType === 'string' ? $n_split(val, props.valueSeparator) : val
|
|
792
|
+
|
|
793
|
+
// 如果是有效数组
|
|
794
|
+
if ($n_isValidArray(val)) {
|
|
795
|
+
val = val.filter(e => $n_isValidValue(e))
|
|
796
|
+
if (val.length) {
|
|
797
|
+
const _selected = []
|
|
798
|
+
for (const item of props.defaultLoadSelected) {
|
|
799
|
+
if (
|
|
800
|
+
$n_has(item, props.valueKey)
|
|
801
|
+
&& $n_indexOf(val, item[props.valueKey]) > -1
|
|
802
|
+
) {
|
|
803
|
+
_selected.push($n_cloneDeep(item))
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
return _selected
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
// 否则为非初始化
|
|
813
|
+
} else if (
|
|
814
|
+
// 初始不加载已选数据
|
|
815
|
+
props.noDefaultLoadSelected
|
|
751
816
|
// 或没有路由路径
|
|
752
817
|
|| ! routePath
|
|
753
818
|
) {
|
|
@@ -1008,6 +1073,7 @@ export default {
|
|
|
1008
1073
|
/**
|
|
1009
1074
|
* 弹出层显示回调
|
|
1010
1075
|
*/
|
|
1076
|
+
let _popupShowed = false
|
|
1011
1077
|
function onPopupShow() {
|
|
1012
1078
|
|
|
1013
1079
|
// 显示弹出层
|
|
@@ -1024,8 +1090,13 @@ export default {
|
|
|
1024
1090
|
return
|
|
1025
1091
|
}
|
|
1026
1092
|
|
|
1027
|
-
|
|
1028
|
-
|
|
1093
|
+
if (_popupShowed) {
|
|
1094
|
+
return
|
|
1095
|
+
}
|
|
1096
|
+
_popupShowed = true
|
|
1097
|
+
|
|
1098
|
+
// 表格重新加载
|
|
1099
|
+
$table.tableReload()
|
|
1029
1100
|
.finally()
|
|
1030
1101
|
}
|
|
1031
1102
|
|
|
@@ -1063,22 +1134,13 @@ export default {
|
|
|
1063
1134
|
return
|
|
1064
1135
|
}
|
|
1065
1136
|
|
|
1066
|
-
if (
|
|
1067
|
-
|
|
1068
|
-
if (_dialogShowed) {
|
|
1069
|
-
return
|
|
1070
|
-
}
|
|
1071
|
-
_dialogShowed = true
|
|
1072
|
-
|
|
1073
|
-
// 表格重新加载
|
|
1074
|
-
$table.tableReload()
|
|
1075
|
-
.finally()
|
|
1076
|
-
|
|
1137
|
+
if (_dialogShowed) {
|
|
1077
1138
|
return
|
|
1078
1139
|
}
|
|
1140
|
+
_dialogShowed = true
|
|
1079
1141
|
|
|
1080
|
-
//
|
|
1081
|
-
$table.
|
|
1142
|
+
// 表格重新加载
|
|
1143
|
+
$table.tableReload()
|
|
1082
1144
|
.finally()
|
|
1083
1145
|
}
|
|
1084
1146
|
|