【问题标题】:React Native - What is reactTag parameter in AccessibilityInfo.setAccessibilityFocus()?React Native - AccessibilityInfo.setAccessibilityFocus() 中的 reactTag 参数是什么?
【发布时间】:2018-11-25 07:42:48
【问题描述】:

AccessibilityInfo.setAccessibilityFocus(reactTag) 方法中的reactTag 参数是什么? React native documentation 不提供关于这个参数的任何信息:

将可访问性焦点设置为 React 组件。在 Android 上,这是等价的 到 UIManager.sendAccessibilityEvent(reactTag, UIManager.AccessibilityEventTypes.typeViewFocused);.

我没有Objective-CJava 的任何背景。一个小例子将不胜感激。谢谢!!!

【问题讨论】:

    标签: android ios react-native


    【解决方案1】:

    reactTag 只是一个数字,react 使用它来识别应用程序中的视图对象。它是findNodeHandle函数的结果,它以视图引用为参数。

    下面是一个简单的例子,告诉你如何使用它:

    import React, {Component} from 'react'
    import {
      ...
      findNodeHandle,
      ...
    } from 'react-native';
    
    class Sample extends React.Component {
        constructor(props) {
            super(props)
            this.viewRef = null;
        }
    
        ...
    
        componentDidMount() {
            if (this.viewRef) {
                const reactTag = findNodeHandle(this.viewRef);
                AccessibilityInfo.setAccessibilityFocus(reactTag);
            }
        }
    
        render() {
            return (
                <View ref={el => { this.viewRef = el }}>
                    ...
                </View>
            )
        }
    }
    

    【讨论】:

    • 您好,想知道即使已经加载了组件并启用了可访问性,这是否仍然有效。换句话说,是否有可能仅在组件即将获得焦点之后才设置可访问性焦点?
    • 我在使用这个解决方案时遇到了很多麻烦,请参阅stackoverflow.com/questions/63252638/…
    猜你喜欢
    • 2016-07-01
    • 2020-04-28
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多