OpenHarmony开发者论坛

标题: OpenHarmony 控制组件的显示和隐藏 [打印本页]

作者: luke    时间: 2023-12-6 10:50
标题: OpenHarmony 控制组件的显示和隐藏
[md]在页面上有两个组件 image和video,现在需要根据变量值控制只显示一个,请问有什么属性可以控制吗,发现用visibility这个属性不能生效

```
build() {
    Row() {
      Column() {
        Video({
          src: this.videoUrl,
          // previewUri: this.previewUris,
          controller: this.controller
        })
          .muted(false) //设置是否静音
          .controls(false) //设置是否显示默认控制条
          .autoPlay(true) //设置是否自动播放
          .loop(false) //设置是否循环播放
          .objectFit(ImageFit.Contain) //设置视频适配模式
          .visibility(false)
          .onStart(() => {
            console.info('onStart')
          })
          .onPause(() => {
            console.info('onPause')
          })
          .onFinish(() => {
            console.info('onFinish')
            if (this.moren.length == 1) {
              this.videoUrl = this.moren[0].matterUrl
            } else {
              this.diaplayImgOrVideo();
            }
          })
          .onError(() => {
            //console.info('onError')
          })
          .onPrepared((e) => {
            //console.info('onPrepared is ' + e.duration)
          })
          .onSeeking((e) => {
            //console.info('onSeeking is ' + e.time)
          })
          .onSeeked((e) => {
            //console.info('onSeeked is ' + e.time)
          })
          .onUpdate((e) => {
            // console.info('onUpdate is ' + e.time)
          })

        Image(this.image).height('100%').width('100%').visibility(true)
      }
      .width('100%')
    }
    .height('100%')
  }
```
[/md]
作者: 马迪    时间: 2023-12-6 14:58
visibility的参数不是true,false吧,我看是个枚举参数
  1.   /**
  2.    * Controls the display or hide of the current component.
  3.    * @since 7
  4.    */
  5.   /**
  6.    * Controls the display or hide of the current component.
  7.    * @form
  8.    * @since 9
  9.    */
  10.   visibility(value: Visibility): T;
复制代码

作者: luke    时间: 2023-12-6 15:17
回复 马迪: 多谢,后面我也发现了
作者: luke    时间: 2023-12-6 15:19
回复 马迪: 有个问题请教您下,就是我这边会使用video播放一个视频和使用image显示一个图片,会通过变量控制是否显示,页面上一直都只会显示一个组件的内容,但是当从图片切到视频组件时,第二次播放视频时是不播放的,直接显示视频的最后一帧停在那里了,请问下是什么原因呢
作者: luke    时间: 2023-12-6 15:59
回复 马迪: 可以了,我知道什么原因了,是videourl没有变化造成没有播放,我播放完以后先把videourl置为空然后再赋值就可以了




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5