# web组件隐藏时，回调事件不触发

#### 问题现象

当web组件需要隐藏时，回调事件不触发，比如onPageBegin未触发。

问题代码示例参考如下：

```
Web({})
  .onPageBegin(() => {
    console.info(`into onPageBegin`)
  })
  .visibility(Visibility.None)
```

#### 背景知识

visibility是控制组件显隐控制的一个基础属性。其值类型说明参考文档：Visibility枚举说明。

#### 问题定位

通过ArkUI Inspector工具，可以看到出问题的组件并没有被渲染出来。

#### 分析结论

visibility属性设置Visibility.None后，是不会渲染组件的，所以组件相关的生命周期也不会触发。

#### 修改建议

把visibility属性的值改成Visibility.Hidden即可。

```
import webview from '@ohos.web.webview';

@Entry
@Component
struct Index {
  // 开发者需根据自身需求填写网址
  @State webSrc: string = 'xxx';
  @State webController: WebviewController = new webview.WebviewController();

  build() {
    Column() {
      Web({ src: this.webSrc, controller: this.webController })
        .size({ width: '100%', height: '100%' })
        .onPageBegin(() => {
          console.info(`into onPageBegin (web Hidden)`);
        })
        // 按照示例代码，开发者需要隐藏，因此设置为Visibility.Hidden
        .visibility(Visibility.Hidden)
        .geolocationAccess(false)
        .fileAccess(false);
    }
    .height('100%')
    .width('100%')
  }
}
```

日志中onPageBegin()触发，打印了into onPageBegin (web Hidden)。