ui-同じデータソースを使用して2つのテーブルをスクロールし、両方のテーブルを同期してスクロールします

アルシナワズ

アプリケーションでui-scrollを使用していますが、いくつかの問題が発生しました。

2つのテーブルの作成に使用したのと同じデータソースでui-scrollを実行したいのですが、一方のテーブルをスクロールすると、同じデータソースを介して作成されたもう一方のテーブルもスクロールするはずです。

次のサンプルコードを使用してそれを達成しようとしましたが、機能しません。

テーブルのいずれかをスクロールすると、リストの動作がおかしくなります。リストのサイズが大きくなり、空の行が表示されます。付属のプランカーで確認できます。

また、データを変更すると、最初のテーブルにのみ影響し、2番目のテーブルはリストを更新しません。

また、同期をとることができません(誰かが助けてくれるなら、愚かな質問で申し訳ありません)。

これが私がしている方法です:

テンプレート:

<table border="1"> 
  <tbody>
    <td>
      <table> 
        <tbody id="first-tbody" ui-scroll-viewport style="height: 400px">
          <tr ui-scroll="item in datasource" adapter="adapter" start-index="0">
            <td>{{item}}</td>
          </tr>
        </tbody>
      </table>
    </td>
    <td> 
      <table>
        <tbody id="second-tbody" ui-scroll-viewport style="height: 400px">
          <tr ui-scroll="item in datasource" adapter="adapter2" start-index="0">
            <td>{{item}}</td>
          </tr>
        </tbody>
      </table>
    </td>
  </tbody>
</table>

コントローラ:

var datasource = {};
datasource.get = function (index, count, success) {
    $timeout(function () {
        var result = [];
        for (var i = index; i <= index + count - 1; i++) {
            result.push("item #" + i);
        }
        success(result);
    }, 100);
};
$scope.datasource = datasource;

https://plnkr.co/edit/CBPDlqx5P6Rc4tPZzGaw?p=preview

どんな助けでも大歓迎です。TIA

スクロールが速すぎると、ui-scrollが一部のスクロール計算に追加する最初と最後の行の高さが100pxを超える傾向があります。それらに取り組む方法は?それらを非表示にすることはできますか?

これがどのように見えるかを示す写真です: ここに画像の説明を入力してください

ディルト

これらのテンプレートのdisplaycss-propertyに問題があり、両方のビューポートを別々のdiv-containerに抽出することをお勧めします...次のコードは空の行の問題を修正します。

<table border="1"> 
  <tbody>
    <td>
      <div ui-scroll-viewport style="height: 400px;">
        <table> 
          <tbody id="first-tbody" >
            <tr ui-scroll="item in datasource" adapter="adapter" start-index="0">
              <td>{{item}}</td>
            </tr>
          </tbody>
        </table>
      </div>
    </td>
    <td> 
      <div ui-scroll-viewport style="height: 400px;">
        <table>
          <tbody id="second-tbody" >
            <tr ui-scroll="item in datasource" adapter="adapter2" start-index="0">
              <td>{{item}}</td>
            </tr>
          </tbody>
        </table>
      </div>
    </td>
  </tbody>
</table>

更新されたデモはこちらです:https//plnkr.co/edit/JjAiw3zvG4uIWGNjLUU7


2つのビューポートのスクロール同期に関しては、次のアプローチが機能する可能性があると思います。

$scope.datasource = {};
$scope.datasource.get = function (index, count, success) {
    var result = [];
    for (var i = index; i <= index + count - 1; i++) {
        result.push("item #" + i);
    }
    success(result); 
};

const vp1 = document.getElementById('vp1');
const vp2 = document.getElementById('vp2');
vp1.addEventListener('scroll', function() {
    vp2.scrollTop = vp1.scrollTop;
});

ここで、「vp1」と「vp2」はビューポートのIDです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

UIテストを使用してセルをスクロールします

分類Dev

タスク/マルチスレッドを使用してデータをロードし、UIを表示します

分類Dev

Angular-uiルーターは2つの状態を並行してアクティブにします

分類Dev

ユーザーがマテリアルUIテーブルをスクロールしたときにさらにデータをロードする方法

分類Dev

タスクまたはスレッドを使用して、ビッグデータテーブル(Progressデータベース)からデータグリッドを行ごとに更新しますが、更新中はUIの応答性を維持します

分類Dev

Angularでは、ui-sortableを使用してテンプレートをコンパイルし、接続されたリストで2回実行するディレクティブは、両方のリスト間でドラッグアンドドロップできません

分類Dev

iOS UIテストは、テーブルの最初のインデックスをタップします

分類Dev

セマンティックUIの可視性を使用して、オーバーフローするdiv内で無限にスクロールします

分類Dev

angleJS ui-bootstrapページネーションを使用してテーブルのすべての行のインデックス値を取得する方法は?

分類Dev

qx.ui.embed.Html用の非ネイティブのqooxdooをテーマにしたスクロールバーを使用してウィジェットを作成しようとしています

分類Dev

同じプロジェクトでSwiftコーディングとUIインターフェイスストーリーボードの両方を使用して、xcodeでアプリを構築することは可能ですか?

分類Dev

マテリアルUIタブコンポーネントのスクロールボタンアイコンを変更します

分類Dev

レスポンシブドロワーの例を使用しているときに、マテリアルUIテーブルが応答しない

分類Dev

マテリアル-UIリストアイテムはAppBarの上をスクロールします

分類Dev

ステートフルウィジェットの外部でメソッドを呼び出して、フラッターブロックでUIを更新します

分類Dev

「ui-sref」にリンクを追加すると、UIルーターが「無効な状態の参照」としてエラーをスローします

分類Dev

Reduxアクションをディスパッチし、後続のアクションをペイロードとして送信して、マテリアルUIのスナックバーまたはダイアログを表示します

分類Dev

マテリアルUIでreactを使用して、タブを1回だけ押してフォーカスを次のコントロールに移動する方法を選択しますか?

分類Dev

Material-UIの「mui-fixed」を使用して、モーダルがスクロールバーでシフトするのを停止します

分類Dev

Material UI(Scrollspy)-React-タブを使用してリストを移動し、インデックスに自動スクロール

分類Dev

4ステートメントの非同期を実行し、すべてが完了するまでUIをブロックします

分類Dev

WebベースのUIのみを使用して.warファイルをLiferayにデプロイします

分類Dev

vue要素-uiはテーブル行のインデックスを取得します

分類Dev

マテリアルUIは、テーマを使用してスタイルをグローバルに更新します

分類Dev

Eclipse ui:スクロールバーを設定していますが、エディターがフォローしていません

分類Dev

Xcode UIテスト-UIテストの失敗-検索フィールドの[キャンセル]ボタンをタップすると、(AXアクションによって)表示にスクロールできませんでした

分類Dev

セマンティックUIテーブル水平方向にスクロールしたときに右の列を修正する方法

分類Dev

マテリアル UI カードのサブタイトルで水平スクロール バーを導入

分類Dev

マテリアルUIテーブルは列間のスペースを削減します

Related 関連記事

  1. 1

    UIテストを使用してセルをスクロールします

  2. 2

    タスク/マルチスレッドを使用してデータをロードし、UIを表示します

  3. 3

    Angular-uiルーターは2つの状態を並行してアクティブにします

  4. 4

    ユーザーがマテリアルUIテーブルをスクロールしたときにさらにデータをロードする方法

  5. 5

    タスクまたはスレッドを使用して、ビッグデータテーブル(Progressデータベース)からデータグリッドを行ごとに更新しますが、更新中はUIの応答性を維持します

  6. 6

    Angularでは、ui-sortableを使用してテンプレートをコンパイルし、接続されたリストで2回実行するディレクティブは、両方のリスト間でドラッグアンドドロップできません

  7. 7

    iOS UIテストは、テーブルの最初のインデックスをタップします

  8. 8

    セマンティックUIの可視性を使用して、オーバーフローするdiv内で無限にスクロールします

  9. 9

    angleJS ui-bootstrapページネーションを使用してテーブルのすべての行のインデックス値を取得する方法は?

  10. 10

    qx.ui.embed.Html用の非ネイティブのqooxdooをテーマにしたスクロールバーを使用してウィジェットを作成しようとしています

  11. 11

    同じプロジェクトでSwiftコーディングとUIインターフェイスストーリーボードの両方を使用して、xcodeでアプリを構築することは可能ですか?

  12. 12

    マテリアルUIタブコンポーネントのスクロールボタンアイコンを変更します

  13. 13

    レスポンシブドロワーの例を使用しているときに、マテリアルUIテーブルが応答しない

  14. 14

    マテリアル-UIリストアイテムはAppBarの上をスクロールします

  15. 15

    ステートフルウィジェットの外部でメソッドを呼び出して、フラッターブロックでUIを更新します

  16. 16

    「ui-sref」にリンクを追加すると、UIルーターが「無効な状態の参照」としてエラーをスローします

  17. 17

    Reduxアクションをディスパッチし、後続のアクションをペイロードとして送信して、マテリアルUIのスナックバーまたはダイアログを表示します

  18. 18

    マテリアルUIでreactを使用して、タブを1回だけ押してフォーカスを次のコントロールに移動する方法を選択しますか?

  19. 19

    Material-UIの「mui-fixed」を使用して、モーダルがスクロールバーでシフトするのを停止します

  20. 20

    Material UI(Scrollspy)-React-タブを使用してリストを移動し、インデックスに自動スクロール

  21. 21

    4ステートメントの非同期を実行し、すべてが完了するまでUIをブロックします

  22. 22

    WebベースのUIのみを使用して.warファイルをLiferayにデプロイします

  23. 23

    vue要素-uiはテーブル行のインデックスを取得します

  24. 24

    マテリアルUIは、テーマを使用してスタイルをグローバルに更新します

  25. 25

    Eclipse ui:スクロールバーを設定していますが、エディターがフォローしていません

  26. 26

    Xcode UIテスト-UIテストの失敗-検索フィールドの[キャンセル]ボタンをタップすると、(AXアクションによって)表示にスクロールできませんでした

  27. 27

    セマンティックUIテーブル水平方向にスクロールしたときに右の列を修正する方法

  28. 28

    マテリアル UI カードのサブタイトルで水平スクロール バーを導入

  29. 29

    マテリアルUIテーブルは列間のスペースを削減します

ホットタグ

アーカイブ