@ditari/bsui 1.1.44 → 1.1.46

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ditari/bsui
2
2
 
3
+ ## 1.1.46
4
+
5
+ ### Patch Changes
6
+
7
+ - 1. 修改日期组件,value 属性直接赋值对象的时候,数据不同步的问题
8
+
9
+ ## 1.1.45
10
+
11
+ ### Patch Changes
12
+
13
+ - 1. 修复日期控件初始化的 bug
14
+
3
15
  ## 1.1.44
4
16
 
5
17
  ### Patch Changes
@@ -5,6 +5,22 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  var antDesignVue = require('ant-design-vue');
7
7
 
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
8
24
  var RangePicker = /* @__PURE__ */ vue.defineComponent({
9
25
  name: "DRangePicker",
10
26
  props: {
@@ -29,6 +45,11 @@ var RangePicker = /* @__PURE__ */ vue.defineComponent({
29
45
  }) {
30
46
  const dates = vue.ref([]);
31
47
  const internalModel = vue.ref((props == null ? void 0 : props.value) || {});
48
+ vue.watch(() => props.value, (val) => {
49
+ internalModel.value = val ? __spreadValues({}, val) : {};
50
+ }, {
51
+ deep: true
52
+ });
32
53
  const onChange = (dates2) => {
33
54
  if (!dates2) {
34
55
  props.field.forEach((key) => {
@@ -57,7 +78,9 @@ var RangePicker = /* @__PURE__ */ vue.defineComponent({
57
78
  });
58
79
  }
59
80
  };
60
- vue.watch(watchExpressions, watchHandler);
81
+ vue.watch(watchExpressions, watchHandler, {
82
+ immediate: true
83
+ });
61
84
  return () => vue.createVNode("div", null, [vue.createVNode(antDesignVue.RangePicker, vue.mergeProps(attrs, {
62
85
  "value": dates.value,
63
86
  "onUpdate:value": ($event) => dates.value = $event,
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watch } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n //循环字段\n // eslint-disable-next-line vue/no-setup-props-destructure\n const watchExpressions = props.field.map((key) => () => {\n return props.value?.[key];\n });\n\n const watchHandler = (newValues: any) => {\n // 判断是否被置空只有这两个字段同时为空,才是表明被置空\n const isClear = props.field.every((key, index) => {\n return newValues[index] === \"\" || newValues[index] === undefined;\n });\n if (isClear) {\n dates.value = [];\n } else {\n props.field.forEach((key, index) => {\n dates.value && (dates.value[index] = newValues[index]);\n });\n }\n };\n //监听多个字段变化\n watch(watchExpressions, watchHandler);\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["defineComponent","name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchExpressions","map","watchHandler","newValues","isClear","every","undefined","watch","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
1
+ {"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watch } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n watch(\n () => props.value,\n (val: any) => {\n // 要监听val 进行赋值,因为如果父组件直接改变val的整个对象,那么internalModel就会失去对value的依赖追踪\n // 导致数据不同步\n internalModel.value = val ? { ...val } : {};\n },\n {\n deep: true\n }\n );\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n //循环字段\n // eslint-disable-next-line vue/no-setup-props-destructure\n const watchExpressions = props.field.map((key) => () => {\n return props.value?.[key];\n });\n\n const watchHandler = (newValues: any) => {\n // 判断是否被置空只有这两个字段同时为空,才是表明被置空\n const isClear = props.field.every((key, index) => {\n return newValues[index] === \"\" || newValues[index] === undefined;\n });\n if (isClear) {\n dates.value = [];\n } else {\n props.field.forEach((key, index) => {\n dates.value && (dates.value[index] = newValues[index]);\n });\n }\n };\n //监听多个字段变化\n watch(watchExpressions, watchHandler, { immediate: true });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["defineComponent","name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","watch","val","deep","onChange","forEach","key","index","watchExpressions","map","watchHandler","newValues","isClear","every","undefined","immediate","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
@@ -1,6 +1,22 @@
1
1
  import { defineComponent, ref, watch, createVNode, mergeProps } from 'vue';
2
2
  import { RangePicker as RangePicker$1 } from 'ant-design-vue';
3
3
 
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
4
20
  var RangePicker = /* @__PURE__ */ defineComponent({
5
21
  name: "DRangePicker",
6
22
  props: {
@@ -25,6 +41,11 @@ var RangePicker = /* @__PURE__ */ defineComponent({
25
41
  }) {
26
42
  const dates = ref([]);
27
43
  const internalModel = ref((props == null ? void 0 : props.value) || {});
44
+ watch(() => props.value, (val) => {
45
+ internalModel.value = val ? __spreadValues({}, val) : {};
46
+ }, {
47
+ deep: true
48
+ });
28
49
  const onChange = (dates2) => {
29
50
  if (!dates2) {
30
51
  props.field.forEach((key) => {
@@ -53,7 +74,9 @@ var RangePicker = /* @__PURE__ */ defineComponent({
53
74
  });
54
75
  }
55
76
  };
56
- watch(watchExpressions, watchHandler);
77
+ watch(watchExpressions, watchHandler, {
78
+ immediate: true
79
+ });
57
80
  return () => createVNode("div", null, [createVNode(RangePicker$1, mergeProps(attrs, {
58
81
  "value": dates.value,
59
82
  "onUpdate:value": ($event) => dates.value = $event,
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watch } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n //循环字段\n // eslint-disable-next-line vue/no-setup-props-destructure\n const watchExpressions = props.field.map((key) => () => {\n return props.value?.[key];\n });\n\n const watchHandler = (newValues: any) => {\n // 判断是否被置空只有这两个字段同时为空,才是表明被置空\n const isClear = props.field.every((key, index) => {\n return newValues[index] === \"\" || newValues[index] === undefined;\n });\n if (isClear) {\n dates.value = [];\n } else {\n props.field.forEach((key, index) => {\n dates.value && (dates.value[index] = newValues[index]);\n });\n }\n };\n //监听多个字段变化\n watch(watchExpressions, watchHandler);\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchExpressions","map","watchHandler","newValues","isClear","every","undefined","watch","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
1
+ {"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watch } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n watch(\n () => props.value,\n (val: any) => {\n // 要监听val 进行赋值,因为如果父组件直接改变val的整个对象,那么internalModel就会失去对value的依赖追踪\n // 导致数据不同步\n internalModel.value = val ? { ...val } : {};\n },\n {\n deep: true\n }\n );\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n //循环字段\n // eslint-disable-next-line vue/no-setup-props-destructure\n const watchExpressions = props.field.map((key) => () => {\n return props.value?.[key];\n });\n\n const watchHandler = (newValues: any) => {\n // 判断是否被置空只有这两个字段同时为空,才是表明被置空\n const isClear = props.field.every((key, index) => {\n return newValues[index] === \"\" || newValues[index] === undefined;\n });\n if (isClear) {\n dates.value = [];\n } else {\n props.field.forEach((key, index) => {\n dates.value && (dates.value[index] = newValues[index]);\n });\n }\n };\n //监听多个字段变化\n watch(watchExpressions, watchHandler, { immediate: true });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","watch","val","deep","onChange","forEach","key","index","watchExpressions","map","watchHandler","newValues","isClear","every","undefined","immediate","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  <script setup lang="ts">
2
- import { ref, onDeactivated, onBeforeUnmount, onActivated } from "vue";
2
+ import {
3
+ ref,
4
+ onDeactivated,
5
+ onBeforeUnmount,
6
+ onActivated,
7
+ watchEffect
8
+ } from "vue";
3
9
  import { useTable } from "./hooks";
4
10
 
5
11
  const { data, loading, config, selectedRowKeys } = useTable();
@@ -268,12 +274,15 @@ const onQuery = () => {
268
274
  console.log("22");
269
275
  };
270
276
 
271
- const queryParams = ref({ from: "", to: "" });
277
+ const queryParams = ref<any>({});
272
278
 
273
279
  setTimeout(() => {
274
- queryParams.value.from = "2023-02-04";
275
- queryParams.value.to = "2023-05-06";
276
- }, 200);
280
+ queryParams.value = {
281
+ name: "abc",
282
+ from: "2023-02-04",
283
+ to: "2023-05-06"
284
+ };
285
+ }, 1000);
277
286
 
278
287
  const customHeaderCell = (columns: any) => {
279
288
  console.log(columns);
@@ -288,9 +297,8 @@ export default {
288
297
  <template>
289
298
  <d-list-layout @refresh="onQuery">
290
299
  <template #form>
291
- <d-query-form :value="formState" :scheme="scheme" @query="onQuery">
292
- </d-query-form>
293
300
  {{ queryParams }}
301
+ <a-input v-model:value="queryParams.name" />
294
302
  <d-range-picker v-model:value="queryParams" :field="['from', 'to']" />
295
303
  </template>
296
304
  <template #tools>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditari/bsui",
3
- "version": "1.1.44",
3
+ "version": "1.1.46",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "",
@@ -29,6 +29,18 @@ export default defineComponent({
29
29
  //内部model
30
30
  const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});
31
31
 
32
+ watch(
33
+ () => props.value,
34
+ (val: any) => {
35
+ // 要监听val 进行赋值,因为如果父组件直接改变val的整个对象,那么internalModel就会失去对value的依赖追踪
36
+ // 导致数据不同步
37
+ internalModel.value = val ? { ...val } : {};
38
+ },
39
+ {
40
+ deep: true
41
+ }
42
+ );
43
+
32
44
  // 监听日期变化
33
45
  const onChange = (dates: [any, any]) => {
34
46
  if (!dates) {
@@ -63,7 +75,7 @@ export default defineComponent({
63
75
  }
64
76
  };
65
77
  //监听多个字段变化
66
- watch(watchExpressions, watchHandler);
78
+ watch(watchExpressions, watchHandler, { immediate: true });
67
79
 
68
80
  return () => (
69
81
  <div>