English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE คนไทย Français русский

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/sdk @2.x | 组件 | 弹出窗口

开源社区 开源社区 11534 人阅读 | 0 人回复 | 2025-02-25

弹出窗口

负责 Telegram 迷你应用程序 popup 的💠组件

检查支持

要检查当前 Telegram 小应用程序版本是否支持弹出窗口,需要使用 isSupported 方法:

Variable :

  1. import { popup } from '@telegram-apps/sdk';
    4 S! r7 ~" m% d- R: v. z  d( C
  2. * `/ ~0 \. d) i: S" C
  3. popup.isSupported(); // boolean
复制代码

Functions :

  1. import { isPopupSupported } from '@telegram-apps/sdk';% ?5 U9 X+ i! \: w

  2. / l$ G# _. d! Q- X3 G, Q; Q
  3. isPopupSupported(); // boolean
复制代码
打开

要打开弹出窗口,需要调用 open 方法,指定弹出窗口的属性:标题、 信息和最多 3 个按钮的列表。

该方法返回一个承诺,点击按钮的标识符将实现该承诺。 在 的情况下,如果用户没有点击任何按钮,该方法将返回 null。

调用该方法会更新 isOpened 信号属性值。

Variable :

  1. import { popup } from '@telegram-apps/sdk';* H0 I& l7 }5 k( R0 G3 t0 j( h
  2. # o* L* _% L; q
  3. // popup.isOpened() -> false" i0 ^  _; Y9 S  r! K) y! ]; L; ]
  4. const promise = popup.open({
    ( H0 l$ n; N+ O1 _, F
  5.   title: 'Hello!',
    5 N! N7 Z& O# g8 H" N0 W
  6.   message: 'Here is a test message.',
    / w) ]5 M# X5 M) `" T4 s
  7.   buttons: [{ id: 'my-id', type: 'default', text: 'Default text' }],
    % q4 Z) P) L7 g: w% T
  8. });1 S2 H( {% B6 \8 l
  9. // popup.isOpened() -> true$ m. ^& s9 F+ L% @
  10. const buttonId = await promise;
    ( n, A) O2 Q. O& r* f$ M
  11. // popup.isOpened() -> false
复制代码

Functions :

  1. import { openPopup, isPopupOpened } from '@telegram-apps/sdk';
    6 e+ M) L: J6 \, B8 `: @

  2. " T+ c8 Z# z. M3 r
  3. // isPopupOpened() -> false
    0 A9 c' {3 E4 ^0 p
  4. const promise = openPopup({- y3 v* n; \+ Y
  5.   title: 'Hello!',: T9 _! Z5 x8 C! ^
  6.   message: 'Here is a test message.'," \2 g; V& s6 t7 e
  7.   buttons: [{ id: 'my-id', type: 'default', text: 'Default text' }],  D& Y) f+ a; p5 E; H/ j
  8. });2 U; \6 S" {& |
  9. // isPopupOpened() -> true
    / R7 w0 f+ c! C" E4 |) T" a
  10. const buttonId = await promise;
    6 S2 r, F+ G( m4 M) R2 {- V4 o
  11. // isPopupOpened() -> false
复制代码

1 e& p8 I: E. S. k: j- g3 v& N4 j7 m" Z% v" p3 m* ~+ _: Z
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则