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

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

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/sdk @2.x | 组件 | 设置按钮

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

设置按钮

负责 Telegram Mini Apps settings button 的💠组件

检查支持

要检查当前 Telegram 迷你应用程序版本是否支持设置按钮,可使用 isSupported 方法:

Variable :

  1. import { settingsButton } from '@telegram-apps/sdk';
      E- u5 h/ ?9 R0 l7 a+ Q

  2. : Q1 e6 @+ H9 x* b( t
  3. settingsButton.isSupported(); // boolean
复制代码

Functions :

  1. import { isSettingsButtonSupported } from '@telegram-apps/sdk';1 ^' i& P$ }( d+ W" i
  2. 8 l5 P# }9 `7 c  C2 `1 F( e+ F% c
  3. isSettingsButtonSupported(); // boolean
复制代码
安装

在使用该组件之前,有必要将其安装到正确配置的属性中。 为此,请使用 mount 方法。 它将更新 isMounted 信号属性。

Variable :

  1. import { settingsButton } from '@telegram-apps/sdk';+ L# L  A- R- o3 \$ F, d

  2. ( j* H  z4 c) o. B' Y
  3. settingsButton.mount();  o7 Z, B7 `' q/ q9 i/ U
  4. settingsButton.isMounted(); // true
复制代码

Functions :

  1. import {
    ( z$ h" J3 F# _) e5 j
  2.   mountSettingsButton,
    # w& j- o$ t% P! N: e' H, a
  3.   isSettingsButtonMounted,
    % o! A; K% t9 c2 y# _0 N; T
  4. } from '@telegram-apps/sdk';0 A/ P* T8 z6 L# |1 J6 R
  5. + |; X% @( E4 ^4 N$ s
  6. mountSettingsButton();, c  [. p. a. w- D
  7. isSettingsButtonMounted(); // true
复制代码
2 ^& c0 K9 F) E8 x

要卸载,请使用 unmount 方法:

Variable :

  1. settingsButton.unmount();' h% {* V4 o3 E
  2. settingsButton.isMounted(); // false
复制代码

Functions :

  1. import {
    5 E" Z" A2 r. J+ i1 `' j& g
  2.   unmountSettingsButton,0 B7 C2 p9 U' ^4 o0 f+ H
  3.   isSettingsButtonMounted,5 n% {! V$ a# x, y* y/ G4 c
  4. } from '@telegram-apps/sdk';
    8 ]2 ]1 e+ h( t+ x
  5. 0 a$ a/ N8 [2 o9 _4 s
  6. unmountSettingsButton();) B& _0 e/ z; C3 P0 d$ l0 N. I
  7. isSettingsButtonMounted(); // false
复制代码
展示与隐藏

要更改按钮的可见性,请使用 hide() 和 show() 方法。 这些方法会更新 isVisible 信号属性值。

Variable :

  1. settingsButton.show();& N- i/ X% J3 [) f! v& J! n* F
  2. settingsButton.isVisible(); // true5 X4 Z( \$ M* `1 k( Y2 J' }! Z, {
  3. & Z; j  O, k  z8 w9 G- b3 g
  4. settingsButton.hide();
    - [# h: A7 N* ]8 S/ E
  5. settingsButton.isVisible(); // false
复制代码

Functions :

  1. import {
    ( `. H. }) c+ T3 Z( P3 d+ |
  2.   showSettingsButton,$ a# r' K) t/ i, S
  3.   hideSettingsButton,- `/ p$ ^# J) O, |0 n/ Z1 a* M
  4.   isSettingsButtonVisible,* A8 `3 E* ?5 @" C- f: @9 T
  5. } from '@telegram-apps/sdk';' V7 Z$ Y# @& g1 `" n) I

  6. ! f+ p, d- h: ]$ `: D5 z
  7. showSettingsButton();
    # B$ U3 R8 m6 R- ^' m4 C5 w. ~
  8. isSettingsButtonVisible(); // true- I7 J& _% }" |* ~9 _# Z

  9. : W4 a: L, a( J: f
  10. hideSettingsButton();
    , b1 M* V$ ~, q  Q  Y1 C# _) H0 L
  11. isSettingsButtonVisible(); // false
复制代码
跟踪点击

要添加按钮点击监听器,请使用 onClick 方法。 它返回一个函数,用于移除绑定的 监听器。 或者,您也可以使用 offClick 方法。

Variable :

  1. function listener() {2 e& ^% n' i" t* A3 h& d6 l
  2.   console.log('Clicked!');
    ) {! n5 @' y, v
  3. }
    ' [, X+ E) N( Z  C" t. ?
  4. & [! M; n: O% [% V5 }- `
  5. const offClick = settingsButton.onClick(listener);- U7 `0 k1 G  A- Z# n
  6. offClick();
    ( b  D! W" h  J: Q
  7. // or
    . b: _, y4 k# v9 {6 n/ o
  8. settingsButton.onClick(listener);, `& n1 ^7 O- }2 ^8 U3 C. }/ A" W
  9. settingsButton.offClick(listener);
复制代码

Functions :

  1. import { onSettingsButtonClick, offSettingsButtonClick } from '@telegram-apps/sdk';7 B% |4 s! H, W( p5 ]
  2. 7 L1 n# v6 b" `0 O6 p9 ^
  3. function listener() {
    5 q: ~; Z7 N( m5 E
  4.   console.log('Clicked!');
    , u) c' n, {9 B6 ~* C8 x
  5. }6 |# c, \8 n; x& O' A7 p* C
  6. & N2 a3 P7 i; ~4 J" m% k
  7. const offClick = onSettingsButtonClick(listener);7 G. A% G  m8 d( i7 ^, M) |* z
  8. offClick();
    , t0 b1 r& A# J! P" o& o/ F
  9. // or0 U: x2 O3 ?# \" Y/ u8 b
  10. onSettingsButtonClick(listener);
    ( [- Q" i& R' r) B' v$ E
  11. offSettingsButtonClick(listener);
复制代码
9 e% s! ]  K' X- A/ p

0 ^$ f/ p+ Q- S4 q# h0 V, O5 o
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则