跳到主要內容

TouchableWithoutFeedback

如果您正在尋找更廣泛且更具前瞻性的方式來處理基於觸摸的輸入,請查看 Pressable API。

除非您有非常好的理由,否則請勿使用。所有響應按壓的元素在被觸摸時都應該有視覺回饋。

TouchableWithoutFeedback 僅支援一個子組件。如果您希望有多個子組件,請將它們包裹在 View 中。重要的是,TouchableWithoutFeedback 的運作方式是複製其子組件並將響應器屬性應用於它。因此,任何中介組件都必須將這些屬性傳遞給底層的 React Native 組件。

使用模式

tsx
function MyComponent(props: MyComponentProps) {
return (
<View {...props} style={{flex: 1, backgroundColor: '#fff'}}>
<Text>My Component</Text>
</View>
);
}

<TouchableWithoutFeedback onPress={() => alert('Pressed!')}>
<MyComponent />
</TouchableWithoutFeedback>;

範例


參考

屬性

accessibilityIgnoresInvertColors
iOS

一個值,指示當顏色反轉開啟時,此視圖是否應該反轉。值為 true 將告知視圖即使顏色反轉已開啟也不要反轉。

請參閱 無障礙指南 以獲取更多資訊。

類型
布林值

accessible

true 時,表示該視圖是一個無障礙元素。預設情況下,所有可觸摸的元素都是可訪問的。

類型
bool

accessibilityLabel

覆蓋使用者與元素互動時螢幕閱讀器讀取的文字。預設情況下,標籤是透過遍歷所有子組件並累積所有以空格分隔的 Text 節點來建構的。

類型
字串

accessibilityLanguage
iOS

一個值,指示當使用者與元素互動時,螢幕閱讀器應使用哪種語言。它應遵循 BCP 47 規範

請參閱 iOS accessibilityLanguage 文件 以獲取更多資訊。

類型
字串

accessibilityHint

無障礙提示幫助使用者理解當他們對無障礙元素執行操作時會發生什麼,當結果從無障礙標籤不明確時。

類型
字串

accessibilityRole

accessibilityRole 向輔助技術的使用者傳達組件的用途。

accessibilityRole 可以是以下之一

  • 'none' - 當元素沒有角色時使用。
  • 'button' - 當元素應被視為按鈕時使用。
  • 'link' - 當元素應被視為連結時使用。
  • 'search' - 當文字欄位元素也應被視為搜尋欄位時使用。
  • 'image' - 當元素應被視為圖像時使用。例如,可以與按鈕或連結組合使用。
  • 'keyboardkey' - 當元素充當鍵盤按鍵時使用。
  • 'text' - 當元素應被視為無法更改的靜態文字時使用。
  • 'adjustable' - 當元素可以「調整」時使用(例如滑桿)。
  • 'imagebutton' - 當元素應被視為按鈕並且也是圖像時使用。
  • 'header' - 當元素充當內容區段的標頭時使用(例如導航欄的標題)。
  • 'summary' - 當應用程式首次啟動時,可以使用元素來提供應用程式目前狀況的快速摘要時使用。
  • 'alert' - 當元素包含要呈現給使用者的重要文字時使用。
  • 'checkbox' - 當元素表示一個可以被選取、取消選取或具有混合選取狀態的複選框時使用。
  • 'combobox' - 當元素表示一個組合框時使用,它允許使用者在多個選項中選擇。
  • 'menu' - 當組件是選項選單時使用。
  • 'menubar' - 當組件是多個選單的容器時使用。
  • 'menuitem' - 用於表示選單中的項目。
  • 'progressbar' - 用於表示指示任務進度的組件。
  • 'radio' - 用於表示單選按鈕。
  • 'radiogroup' - 用於表示一組單選按鈕。
  • 'scrollbar' - 用於表示滾動條。
  • 'spinbutton' - 用於表示打開選項列表的按鈕。
  • 'switch' - 用於表示可以打開和關閉的開關。
  • 'tab' - 用於表示標籤頁。
  • 'tablist' - 用於表示標籤頁列表。
  • 'timer' - 用於表示計時器。
  • 'toolbar' - 用於表示工具欄(動作按鈕或組件的容器)。
類型
字串

accessibilityState

向輔助技術的使用者描述組件的目前狀態。

請參閱 無障礙指南 以獲取更多資訊。

類型
物件:{disabled: bool, selected: bool, checked: bool or 'mixed', busy: bool, expanded: bool}

accessibilityActions

無障礙操作允許輔助技術以程式方式調用組件的操作。 accessibilityActions 屬性應包含操作物件的列表。每個操作物件都應包含欄位名稱和標籤。

請參閱 無障礙指南 以獲取更多資訊。

類型
陣列

aria-busy

表示元素正在被修改,並且輔助技術可能希望等到更改完成後再通知使用者有關更新。

類型預設
布林值false

aria-checked

表示可選取元素的狀態。此欄位可以採用布林值或 "mixed" 字串來表示混合複選框。

類型預設
布林值, 'mixed'false

aria-disabled

表示元素是可感知的但已停用,因此不可編輯或以其他方式操作。

類型預設
布林值false

aria-expanded

表示可展開元素目前是展開還是折疊。

類型預設
布林值false

aria-hidden

表示此無障礙元素中包含的無障礙元素是否隱藏。

例如,在包含同級視圖 AB 的視窗中,在視圖 B 上將 aria-hidden 設置為 true 會導致 VoiceOver 忽略視圖 B 中的元素。

類型預設
布林值false

aria-label

定義一個字串值,用於標記互動式元素。

類型
字串

aria-live
Android

表示元素將被更新,並描述使用者代理程式、輔助技術和使用者可以從即時區域期望的更新類型。

  • off 無障礙服務不應宣告此視圖的變更。
  • polite 無障礙服務應宣告此視圖的變更。
  • assertive 無障礙服務應中斷正在進行的語音以立即宣告此視圖的變更。
類型預設
enum('assertive', 'off', 'polite')'off'

aria-modal
iOS

布林值,指示 VoiceOver 是否應忽略接收器同級視圖中的元素。優先於 accessibilityViewIsModal 屬性。

類型預設
布林值false

aria-selected

表示可選取元素目前是否被選取。

類型
布林值

onAccessibilityAction

當使用者執行無障礙操作時調用。此函數的唯一參數是一個事件,其中包含要執行的操作名稱。

請參閱 無障礙指南 以獲取更多資訊。

類型
函數

accessibilityValue

表示組件的目前值。它可以是組件值的文字描述,或者對於基於範圍的組件(例如滑桿和進度條),它包含範圍資訊(最小值、目前值和最大值)。

請參閱 無障礙指南 以獲取更多資訊。

類型
物件:{min: number, max: number, now: number, text: string}

aria-valuemax

表示基於範圍的組件(例如滑桿和進度條)的最大值。優先於 accessibilityValue 屬性中的 max 值。

類型
數字

aria-valuemin

表示基於範圍的組件(例如滑桿和進度條)的最小值。優先於 accessibilityValue 屬性中的 min 值。

類型
數字

aria-valuenow

表示基於範圍的組件(例如滑桿和進度條)的目前值。優先於 accessibilityValue 屬性中的 now 值。

類型
數字

aria-valuetext

表示組件的文字描述。優先於 accessibilityValue 屬性中的 text 值。

類型
字串

delayLongPress

onPressIn 到調用 onLongPress 的持續時間(以毫秒為單位)。

類型
數字

delayPressIn

從觸摸開始到調用 onPressIn 的持續時間(以毫秒為單位)。

類型
數字

delayPressOut

從鬆開觸摸到調用 onPressOut 的持續時間(以毫秒為單位)。

類型
數字

disabled

如果為 true,則禁用此組件的所有互動。

類型
bool

hitSlop

這定義了您的觸摸可以從按鈕開始多遠的距離。當移開按鈕時,這會添加到 pressRetentionOffset

觸摸區域永遠不會超出父視圖邊界,如果觸摸擊中兩個重疊的視圖,則同級視圖的 Z 索引始終優先。

類型
Rect 或數字

id

用於從原生代碼定位此視圖。優先於 nativeID 屬性。

類型
字串

onBlur

當項目失去焦點時調用。

類型
函數

onFocus

當項目獲得焦點時調用。

類型
函數

onLayout

在掛載和佈局更改時調用。

類型
({nativeEvent: LayoutEvent}) => void

onLongPress

如果在 onPressIn 之後的時間持續超過 370 毫秒,則調用。此時間段可以使用 delayLongPress 進行自訂。

類型
函數

onPress

當觸摸被釋放時調用,但如果被取消(例如,被滾動條竊取響應器鎖定)則不調用。第一個函數參數是 PressEvent 形式的事件。

類型
函數

onPressIn

在可觸摸元素被按下後立即調用,甚至在 onPress 之前調用。這在發出網路請求時可能很有用。第一個函數參數是 PressEvent 形式的事件。

類型
函數

onPressOut

在觸摸被釋放後立即調用,甚至在 onPress 之前調用。第一個函數參數是 PressEvent 形式的事件。

類型
函數

pressRetentionOffset

當滾動視圖被禁用時,這定義了您的觸摸可以在移開按鈕多遠的距離後停用按鈕。一旦停用,嘗試將其移回,您會看到按鈕再次被重新啟用!在滾動視圖被禁用的情況下,來回移動幾次。確保您傳入一個常數以減少記憶體分配。

類型
Rect 或數字

nativeID

類型
字串

testID

用於在端對端測試中定位此視圖。

類型
字串

touchSoundDisabled
Android

如果為 true,則觸摸時不會播放系統聲音。

類型
布林值