收藏
回答

webview内嵌tab页的问题?

    <van-tabs color="blueactive="{{ active }}" bind:change="onChange">

      <van-tab title="原文">

        <scroll-view class="contentscroll-y="truebindscrolltolower="onScrollToLowerscroll-into-view="{{bottomViewId}}" scroll-with-animation="{{true}}" enable-back-to-top="truetype='liststyle="height: calc(100vh - 151px);">

          <view class="itemContentwx:for="{{ realList.textArray }}" wx:key="beginTimeid="time-{{item.beginTime}}">

            <view class="itemContentTextstyle="background-color: {{('time-' + item.beginTime=== bottomViewId ?  'rgba(50,119,254, .8)' : '#fff'}};color: {{('time-' + item.beginTime=== bottomViewId ?  'white' : 'rgb(139, 139, 139)'}};data-item="{{item}}" bindtap="speedCard">

              <view class="contentAvatar">

                <view class="left">

                  <view>

                    <van-image round width="20height="20style="margin-right: 15rpxsrc="{{imageMap[item.personId]}}" />

                  </view>

                  <view class="leftText">发言人{{item.personId + 1}}</view>

                </view>

                <view class="right">{{ item.time }}</view>

              </view>

              <view wx:if="{{ item.language == 1 && item.display == 1}}">

                <view class="textArraystyle="color: {{('time-' + item.beginTime=== bottomViewId ? 'white' : 'black'}};">

                  <text selectable="true">{{ item.text }}</text>

                </view>

              </view>

              <view wx:if="{{ item.language == 1 && item.display == 2}}">

                <view class="textArraystyle="color: {{('time-' + item.beginTime=== bottomViewId ? 'white' : 'black'}};">

                  <text selectable="true">{{ item.text }}</text>

                </view>

              </view>

              <view wx:if="{{ item.language == 2 && item.display == 1}}">

                <view class="textArraystyle="color: {{('time-' + item.beginTime=== bottomViewId ? 'white' : 'black'}};">

                  <text selectable="true">{{ item.text }}</text>

                </view>

                <view class="textArraystyle="color: {{('time-' + item.beginTime=== bottomViewId ? 'white' : 'black'}};">

                  <text selectable="true">{{ item.text_en }}</text>

                </view>

              </view>

              <view wx:if="{{ item.language == 2 && item.display == 2}}">

                <view class="textArraystyle="color: {{('time-' + item.beginTime=== bottomViewId ? 'white' : 'black'}};">

                  <text selectable="true">{{ item.text_en }}</text>

                </view>

              </view>

              <!-- <view wx:for="{{ item.textArray }}" wx:key="index" class="textArray">

                <text wx:if="{{ !!item }}">{{ item }}</text>

                <text wx:if="{{ !!hightTextStr }}" style="background-color: rgb(239, 239, 176)">{{ hightTextStr }}

                </text>

              </view> -->

            </view>

          </view>

          <view wx:if="{{realList.textArray.length === 0}}" class="vantEmpty">

            <van-empty description="暂无音频内容" />

          </view>


        </scroll-view>

      </van-tab>

      <van-tab title="思维导图">

        <view class="webview-container">

          <view wx:if="{{showWebView && pageUrl}}" class="no-content">

            <web-view src="{{pageUrl}}" binderror="onWebViewErrorstyle="width: 100px;height: 100px;"></web-view>

          </view>

          <view wx:elif="{{!pageUrl}}" class="no-content">

            <text>暂无思维导图内容</text>

          </view>

          <view wx:else class="loading-placeholder">

            <van-loading type="spinnersize="24px">加载中...</van-loading>

          </view>

        </view>

      </van-tab>

      <van-tab title="" disabled></van-tab>

      <van-tab title="" disabled></van-tab>

    </van-tabs>

    onChange(event) {

      if (event.detail.index === 1{

        console.log('event--', event.detail.index);

        // 当切换到思维导图标签时

        if (this.data.pageUrl{

          // 延迟显示 web-view

          setTimeout(() => {

            this.setData({

              showWebView: true

            });

            console.log('Showing web-view with URL:', this.data.pageUrl);

          }, 100); // 延迟 100 毫秒,可以根据实际情况调整

        } else {

          console.log('pageUrl is empty, not showing web-view');

          // 可以在这里添加逻辑来重新获取 pageUrl

        }

      }

      this.setData({

        active: event.detail.index

      });

    },


回答关注问题邀请回答
收藏

2 个回答

  • 小黎
    小黎
    10-29

    10-29
    有用 1
    回复 6
    • 安城无殇
      安城无殇
      10-29
      这个问题目前是不是解决不了呀(哭..)
      10-29
      回复
    • 小黎
      小黎
      10-29回复安城无殇
      通过webview无解
      10-29
      回复
    • 安城无殇
      安城无殇
      10-29
      因为我需要展示的是markdown文件转化后展示成思维导图的形式,不用webview的话有什么插件可以做到吗
      10-29
      回复
    • 小黎
      小黎
      10-29回复安城无殇
      试试这个呢https://github.com/sbfkcel/towxml
      10-29
      回复
    • 小黎
      小黎
      10-29回复安城无殇
      或者把思维导图转换为图片,小程序上直接显示图片
      10-29
      回复
    查看更多(1)
  • 安城无殇
    安城无殇
    10-29

    我需要完成的功能是切换到思维导图展示webview页面 但是这里会出现一个问题,切换的时候会变成这样的页面我需要的是放到这个tab页下面展示

    10-29
    有用
    回复
登录 后发表内容