@tuya-miniapp/smart-ui 1.2.0 → 1.2.2

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.
@@ -2,6 +2,7 @@
2
2
  /// <reference types="miniprogram-api-typings" />
3
3
  export type Action = 'confirm' | 'cancel' | 'overlay';
4
4
  type DialogContext = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
5
+ type AnyObject = {};
5
6
  interface DialogOptions {
6
7
  lang?: string;
7
8
  show?: boolean;
@@ -49,7 +50,12 @@ declare const Dialog: {
49
50
  (options: DialogOptions): Promise<WechatMiniprogram.Component.TrivialInstance>;
50
51
  alert(options: DialogOptions): Promise<WechatMiniprogram.Component.TrivialInstance>;
51
52
  confirm(options: DialogOptions): Promise<WechatMiniprogram.Component.TrivialInstance>;
52
- input(options: DialogInputOptions): Promise<WechatMiniprogram.Component.TrivialInstance>;
53
+ input: (options: DialogInputOptions) => Promise<WechatMiniprogram.Component.Instance<{
54
+ /**
55
+ * 输入框的当前值
56
+ */
57
+ inputValue: string;
58
+ }, AnyObject, AnyObject>>;
53
59
  close(): void;
54
60
  stopLoading(): void;
55
61
  currentOptions: DialogOptions;
@@ -61,7 +61,7 @@ const Dialog = (options) => {
61
61
  };
62
62
  Dialog.alert = (options) => Dialog(options);
63
63
  Dialog.confirm = (options) => Dialog(Object.assign({ showCancelButton: true }, options));
64
- Dialog.input = (options) => Dialog(Object.assign({ showCancelButton: true }, options));
64
+ Dialog.input = ((options) => Dialog(Object.assign({ showCancelButton: true }, options)));
65
65
  Dialog.close = () => {
66
66
  queue.forEach((dialog) => {
67
67
  dialog.close();
@@ -123,6 +123,10 @@ SmartComponent({
123
123
  });
124
124
  },
125
125
  handleAction(action) {
126
+ // 避免快速点击时,dialog 已经被关闭了,但是还往下走导致 loading 一直存在
127
+ // see /tuyarn-kit/base/ray-smart-ui/-/issues/11
128
+ if (!this.data.show)
129
+ return;
126
130
  this.$emit(action, { dialog: this, value: this.data.inputValue });
127
131
  const { asyncClose, beforeClose } = this.data;
128
132
  if (!asyncClose && !beforeClose) {
@@ -2,6 +2,7 @@
2
2
  /// <reference types="miniprogram-api-typings" />
3
3
  export type Action = 'confirm' | 'cancel' | 'overlay';
4
4
  type DialogContext = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
5
+ type AnyObject = {};
5
6
  interface DialogOptions {
6
7
  lang?: string;
7
8
  show?: boolean;
@@ -49,7 +50,12 @@ declare const Dialog: {
49
50
  (options: DialogOptions): Promise<WechatMiniprogram.Component.TrivialInstance>;
50
51
  alert(options: DialogOptions): Promise<WechatMiniprogram.Component.TrivialInstance>;
51
52
  confirm(options: DialogOptions): Promise<WechatMiniprogram.Component.TrivialInstance>;
52
- input(options: DialogInputOptions): Promise<WechatMiniprogram.Component.TrivialInstance>;
53
+ input: (options: DialogInputOptions) => Promise<WechatMiniprogram.Component.Instance<{
54
+ /**
55
+ * 输入框的当前值
56
+ */
57
+ inputValue: string;
58
+ }, AnyObject, AnyObject>>;
53
59
  close(): void;
54
60
  stopLoading(): void;
55
61
  currentOptions: DialogOptions;
@@ -76,9 +76,9 @@ Dialog.alert = function (options) { return Dialog(options); };
76
76
  Dialog.confirm = function (options) {
77
77
  return Dialog(__assign({ showCancelButton: true }, options));
78
78
  };
79
- Dialog.input = function (options) {
79
+ Dialog.input = (function (options) {
80
80
  return Dialog(__assign({ showCancelButton: true }, options));
81
- };
81
+ });
82
82
  Dialog.close = function () {
83
83
  queue.forEach(function (dialog) {
84
84
  dialog.close();
@@ -131,6 +131,10 @@ var utils_1 = require("../common/utils");
131
131
  handleAction: function (action) {
132
132
  var _a;
133
133
  var _this = this;
134
+ // 避免快速点击时,dialog 已经被关闭了,但是还往下走导致 loading 一直存在
135
+ // see /tuyarn-kit/base/ray-smart-ui/-/issues/11
136
+ if (!this.data.show)
137
+ return;
134
138
  this.$emit(action, { dialog: this, value: this.data.inputValue });
135
139
  var _b = this.data, asyncClose = _b.asyncClose, beforeClose = _b.beforeClose;
136
140
  if (!asyncClose && !beforeClose) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tuya-miniapp/smart-ui",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "author": "MiniApp Team",
5
5
  "license": "MIT",
6
6
  "miniprogram": "lib",