ホームページ ウェブフロントエンド jsチュートリアル JavaScript フレームワーク (xmlplus) コンポーネントの紹介 (4) リスト

JavaScript フレームワーク (xmlplus) コンポーネントの紹介 (4) リスト

May 05, 2017 am 11:59 AM
リスト コンポーネント

xmlplus は、フロントエンドおよびバックエンド プロジェクトを迅速に開発するための JavaScriptフレームワーク です。この記事では主に、特定の参考値を持つ xmlplus コンポーネント設計シリーズのリストを紹介します。興味のある友人はそれを参照してください

リスト グループウェアは、非常に一般的に使用されるタイプのコンポーネントであり、多くの ビュー のコンポーネント システムです。を含める必要があります。リストは非常にシンプルに作成でき、簡潔な内容のみを表示できます。リストを非常に複雑にして、非常に豊富なコンテンツを表示するために使用することもできます。

構成要素

リストを、リスト項目およびリスト項目を含むコンテナから分離することはできません。以下は最も単純なリスト コンポーネントであり、リスト項目コンポーネント Item とリスト項目コンテナー コンポーネント List が含まれています。

Item: {
 xml: "<li id=&#39;item&#39;/>"
},
List: {
 xml: "<ul id=&#39;list&#39;/>"
}
ログイン後にコピー

シンプルではありますが、このリスト コンポーネントは、継続的な拡張の基礎を築くフレームワークを構築します。

動的操作

上記で定義されたリストコンポーネントの最も基本的な使用法は次のとおりです。この使用法は、ネイティブ リスト タグの使用法と何ら変わりません。さらなる改善を行ってまいります。

Example: {
 xml: "<List id=&#39;example&#39;>\
  <Item>Item 1</Item>\
  <Item>Item 2</Item>\
  </List>"
}
ログイン後にコピー

List コンポーネントには通常、追加、削除、変更の 3 つの操作が含まれます。簡単にするために、最初にこれらの操作を実装しましょう。定義したリスト項目は非常に単純なので、ここでは新しい操作インターフェイスを定義せず、システム インターフェイスを直接使用します。

Example: {
 xml: "<p id=&#39;example&#39;>\
  <List id=&#39;list&#39;/>\
  <button id=&#39;append&#39;>append</button>\
  <button id=&#39;remove&#39;>remove</button>\
  <button id=&#39;modify&#39;>modify</button>\
  </p>",
 fun: function (sys, items, opts) {
 sys.append.on("click", function() {
  sys.list.append("Item").text("Item 1");
 });
 sys.remove.on("click", function() {
  sys.list.first() && sys.list.first().remove();
 });
 sys.modify.on("click", function() {
  sys.list.first() && sys.list.first().text("Item 2");
 });
 }
}
ログイン後にコピー

この例では、リストのシステム 関数 append を使用してリスト項目を追加し、リスト項目のシステム関数 delete を使用してリスト項目を削除し、またリスト項目のシステム関数テキストを使用してリスト項目のデータを変更します。

上記のリスト項目には単純なテキストデータが含まれているため、上記の例では text 関数を使用してデータを操作することが適切です。ここで、より複雑なデータを含むリスト項目を指定すると、そのリスト項目はデータ操作インターフェイスを追加で定義します。

Item: {
 xml: "<li id=&#39;item&#39;>\
  <span id=&#39;color&#39;>red</span>
  <span id=&#39;shape&#39;>square</span>
  </li>",
 fun: function (sys, items, opts) {
 function getValue() {
  return {color: sys.color.text(), shape: sys.shape.text()};
 }
 function setValue(obj) {
  sys.color.text(obj.color);
  sys.shape.text(obj.shape);
 }
 return Object.defineProperty({}, "data", { get: getValue, set: setValue});
 }
}
ログイン後にコピー

これは、新しいリスト項目を含むリスト操作の例です。コンポーネントの追加や削除については、システムが提供する機能も利用できますが、データの取得や変更については、新たに定義したインターフェースのみ利用できます。

Example: {
 xml: "<p id=&#39;example&#39;>\
  <List id=&#39;list&#39;/>\
  <button id=&#39;append&#39;>append</button>\
  <button id=&#39;remove&#39;>remove</button>\
  <button id=&#39;modify&#39;>modify</button>\
  </List>",
 fun: function (sys, items, opts) {
 sys.append.on("click", function() {
  sys.list.append("Item");
 });
 sys.remove.on("click", function() {
  sys.list.first() && sys.list.first().remove();
 });
 sys.modify.on("click", function() {
  sys.list.first() && items.list.first().data = {color: "blue", shape: "rectangle"};
 });
 }
}
ログイン後にコピー

たとえば、setValue と getValue を使用する必要があるなど、リスト項目インターフェイスの定義に特別な要件はありません。これは特定のシナリオによって異なり、必要に応じて柔軟に選択できます。

サードパーティのリストコンポーネントの使用

現在、豊富な機能を備えたさまざまなリストコンポーネントが市場に出回っており、二次カプセル化によってそれらを使用することができます。ここでは、JQuery list コンポーネントと並べ替え関数を組み合わせて、操作方法を説明します。

このリスト項目は長すぎるため、最初にリスト項目をカプセル化します。データ操作インターフェースの導入に注目してください。

Item: {
 xml: "<li class=&#39;ui-state-default&#39;><span class=&#39;ui-icon ui-icon-arrowthick-2-n-s&#39;/><span id=&#39;data&#39;/></li>",
 map: { appendTo: "data" },
 fun: function (sys, items, opts) {
 return { data: sys.data.text };
 }
}
ログイン後にコピー

次に、次のリスト項目のコンテナ コンポーネントを定義します。このコンテナ コンポーネントは主に JQuery のリスト初期化コードをカプセル化します。ここでは、リストは並べ替え可能ですが、選択不可能であると定義されています。

List: {
 css: "#list{ list-style-type: none; margin: 0; padding: 0; width: 60%; }\
  #list li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }\
  #list li span { position: absolute; margin-left: -1.3em; }",
 xml: "<ul id=&#39;list&#39;/>",
 fun: function (sys, items, opts) {
 var elem = this.elem();
 $(elem).sortable();
 $(elem).disableSelection();
 }
}
ログイン後にコピー

最後にリストコンポーネントの使い方を見てみましょう。この例の使用方法は前の例と変わりませんが、機能とパフォーマンスは大きく異なります。

Example: {
 xml: "<List id=&#39;example&#39;>\
  <Item>Item 1</Item>\
  <Item>Item 2</Item>\
  <Item>Item 3</Item>\
  </List>"
}
ログイン後にコピー

最適化

リストに頻繁なデータ更新要件がある場合、必然的にリスト項目の頻繁な追加と削除が発生し、アプリケーションのエクスペリエンスが低下する可能性があります。実現可能な最適化計画を以下に示します。これは公式ドキュメントの最適化の章に記載されています。

List: {
 xml: "<ul id=&#39;list&#39;/>",
 fun: function (sys, items, opts) {
 function setValue(array) {
  var list = sys.list.children();
  for ( var i = 0; i < array.length; i++ )
  (list[i] || sys.list.append("Item")).show().text(array[i]);
  for ( var k = i; k < list.length; k++ )
  list[k].hide();
 }
 return Object.defineProperty({}, "value", { set: setValue });
 }
}
ログイン後にコピー

複雑なリスト項目の場合、再作成のコストは膨大です。したがって、この最適化計画では、既存のリスト アイテムを可能な限り再利用し、新しいリスト アイテムを削除して再構築するのではなく、必要な場合にのみデータを更新し、既存のリスト アイテムが十分でない場合にのみ新しいリスト アイテムを作成します。

この一連の記事は、xmlplus フレームワークに基づいています。 xmlplus についてあまり詳しくない場合は、www.xmlplus.cn にアクセスしてください。詳細な入門ドキュメントはここから入手できます。

【関連おすすめ】

1. 無料のjsオンラインビデオチュートリアル

3. php.cn Dugu Jiijian (3) - JavaScriptビデオチュートリアル

以上がJavaScript フレームワーク (xmlplus) コンポーネントの紹介 (4) リストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python を使用してリストから角括弧を削除する方法 Python を使用してリストから角括弧を削除する方法 Sep 05, 2023 pm 07:05 PM

Pythonは、必要に応じてさまざまな目的に使用できる非常に便利なソフトウェアです。 Python は、Web 開発、データ サイエンス、機械学習、その他自動化が必要な多くの分野で使用できます。これらのタスクの実行に役立つさまざまな機能が備わっています。 Python リストは、Python の非常に便利な機能の 1 つです。名前が示すように、リストには保存したいすべてのデータが含まれています。それは基本的に、さまざまな種類の情報のセットです。角括弧を削除するさまざまな方法 多くの場合、ユーザーはリスト項目が角括弧内に表示される状況に遭遇します。この記事では、リストを見やすくするためにこれらの括弧を削除する方法について詳しく説明します。文字列内の括弧や置換関数を削除する最も簡単な方法の 1 つは、次のとおりです。

Windows 10 旧バージョンコンポーネント DirectPlay のインストール方法 Windows 10 旧バージョンコンポーネント DirectPlay のインストール方法 Dec 28, 2023 pm 03:43 PM

win10で一部のゲームをプレイすると、画面がフリーズしたり画面がぼやけるなどの不具合が多くのユーザーに発生しますが、現時点ではダイレクトプレイ機能をオンにすることで問題を解決でき、機能の操作方法も非常に簡単です。 win10 の古いコンポーネントである Directplay をインストールする方法 1. 検索ボックスに「コントロール パネル」と入力して開きます 2. 表示方法として大きなアイコンを選択します 3. 「プログラムと機能」を見つけます 4. 左側をクリックして有効にするか、 Win 機能をオフにする 5. ここで古いバージョンを選択します チェックボックスをオンにするだけです

Python の count() 関数を使用してリスト内の要素の数を数える方法 Python の count() 関数を使用してリスト内の要素の数を数える方法 Nov 18, 2023 pm 02:53 PM

Python の count() 関数を使用してリスト内の要素の数を計算する方法には、特定のコード サンプルが必要です。Python は強力で習得しやすいプログラミング言語として、さまざまなデータ構造を処理するための組み込み関数を多数提供しています。その 1 つは count() 関数で、リスト内の要素の数をカウントするために使用できます。この記事では、count()関数の使い方と具体的なコード例を詳しく説明します。 count() 関数は Python の組み込み関数であり、特定の値を計算するために使用されます。

iPhoneのiOS 17リマインダーアプリで買い物リストを作成する方法 iPhoneのiOS 17リマインダーアプリで買い物リストを作成する方法 Sep 21, 2023 pm 06:41 PM

iOS17のiPhoneでGroceryListを作成する方法 リマインダーアプリでGroceryListを作成するのは非常に簡単です。リストを追加して項目を入力するだけです。アプリは商品を自動的にカテゴリーに分類し、パートナーやフラットパートナーと協力してストアで購入する必要のあるもののリストを作成することもできます。これを行う完全な手順は次のとおりです: ステップ 1: iCloud リマインダーをオンにする 奇妙に聞こえるかもしれませんが、Apple は、iOS17 で GroceryList を作成するには iCloud からのリマインダーを有効にする必要があると言っています。その手順は次のとおりです: iPhone の設定アプリに移動し、[あなたの名前] をタップします。次に、「i」を選択します

Vueを使用してカレンダーコンポーネントを実装するにはどうすればよいですか? Vueを使用してカレンダーコンポーネントを実装するにはどうすればよいですか? Jun 25, 2023 pm 01:28 PM

Vue は非常に人気のあるフロントエンド フレームワークであり、コンポーネント化、データ バインディング、イベント処理など、開発者が効率的で柔軟で保守が容易な Web アプリケーションを構築するのに役立つ多くのツールと機能を提供します。この記事では、Vueを使ってカレンダーコンポーネントを実装する方法を紹介します。 1. 要件の分析 まず、このカレンダー コンポーネントの要件を分析する必要があります。基本的なカレンダーには次の機能が必要です: 当月のカレンダー ページの表示、前月または翌月への切り替えのサポート、特定の日のクリックのサポート、

Javaリストにnull値を挿入できますか? Javaリストにnull値を挿入できますか? Aug 20, 2023 pm 07:01 PM

解決策はい、add() メソッドを使用して簡単に null 値をリストに挿入できます。List 実装の場合、null はサポートされていないため、NullPointerException がスローされます。Syntaxbooleanadd(Ee) 指定された要素をこのリストの末尾に追加します。型パラメーター E -要素の実行時の型。パラメータ e −このリストに追加される要素

買い物リストの作成方法: iPhone のリマインダー アプリを使用する 買い物リストの作成方法: iPhone のリマインダー アプリを使用する Dec 01, 2023 pm 03:37 PM

iOS 17 で、Apple は食料品の買い物に出かけるときに役立つ便利な小さなリスト機能をリマインダー アプリに追加しました。この記事を読んで使い方を学び、店舗に行く時間を短縮しましょう。新しい「食料品」リスト タイプ (米国外では「ショッピング」という名前) を使用してリストを作成すると、さまざまな食品や食料品を入力し、カテゴリー別に自動的に整理できます。この構成により、食料品店や買い物中に必要なものを簡単に見つけることができます。アラートで利用できるカテゴリ タイプには、農産物、パンとシリアル、冷凍食品、スナックとキャンディー、肉、乳製品、卵とチーズ、焼き菓子、焼き菓子、家庭用品、パーソナルケアとウェルネス、ワイン、ビールと蒸留酒が含まれます。以下はiOS17で作成したものです

PythonのリストのDelとremove()の違いは何ですか? PythonのリストのDelとremove()の違いは何ですか? Sep 12, 2023 pm 04:25 PM

違いについて説明する前に、まず Python リストの Del と Remove() が何であるかを理解しましょう。 Python リストの Del キーワード Python の del キーワードは、リストから 1 つ以上の要素を削除するために使用されます。すべての要素を削除する、つまりリスト全体を削除することもできます。 del キーワードを使用して Python リストから要素を削除する例 #CreateaListmyList=["Toyota","Benz","Audi","Bentley"]print("List="

See all articles