任意の頼第三者によらず、単にvueでTreeツリーコントロールを実現した事例
この数日間で一つの需要を受けました。中には属性の部品を作って、第三者を探していますが、完全に私の需要を満たすことができません。この時間があれば、自分で小さな輪を作りましょう。
まず効果図を見ます。(赤い点の前に使うフォントのアイコンは、ペアです。ここでは、便利のために、選択状態の代わりに丸を使っています。あまり綺麗ではないので、必要なものは自分で修正してください。)
私が直接使うvue-cliで作ったプロジェクトのコードディレクトリは以下の通りです。
使用方法は以下の通りです。
tree Dataのフォーマットは以下の通りです。
1.深さウォッチ
データは深層の対象ですので、単純なウオッチではデータの変化は検出できません。だから、deepを使って、コードは以下の通りです。
データの結果は再帰的に巡回され、
プロジェクトの完全コード住所:https://github.com/YalongYan/tree
補足知識:vue実現elmentはツリーコントロールを編集できます。
機能の実現度:
elmentツリーコントロールは、追加、削除機能を備えています。この項目は、編集機能を追加し、新規にノードに名前を付けることができます。追加されたノードに直接名前を変更することもできます。
先に効果を見ます
コントロールが変更されました。入力ボックス、キーワードフィルタを入力すると、ノードアイコンが変わります。。。elment Treeツリーコントロールドキュメントを参照してください。
ダウンロード
プロジェクト住所:https://github.com/midnightvisitor/vue-el-tree.git
必要なら、自分でダウンロードしてください。
以上のように、第三者に依存しないで、単にvueでTreeツリーコントロールを実現するというケースは、小編集が皆さんに共有している内容の全部です。
まず効果図を見ます。(赤い点の前に使うフォントのアイコンは、ペアです。ここでは、便利のために、選択状態の代わりに丸を使っています。あまり綺麗ではないので、必要なものは自分で修正してください。)
私が直接使うvue-cliで作ったプロジェクトのコードディレクトリは以下の通りです。
使用方法は以下の通りです。
tree Dataのフォーマットは以下の通りです。
treeData: [
{open: false, name: '1', level: 0, checked: true},
{
open: false, // opend
name: '2',
level: 0, //level
checked: false, // checked
children: [
{
open: false,
name: '3',
level: 1,
checked: false,
children: [
{open: false, name: '4', level: 2, checked: false},
{
open: false,
name: '5',
level: 2,
checked: false
}
]
}
]
}
],
このコンポーネントはいくつかのポイントに設計されています。1.深さウォッチ
データは深層の対象ですので、単純なウオッチではデータの変化は検出できません。だから、deepを使って、コードは以下の通りです。
watch: {
// treeDate deep
treeData: {
handler: function (newVal, oldVal) {
this.calculateSelectFormResult()
},
deep: true
}
}
2.再帰データの結果は再帰的に巡回され、
calculateSelectFormResult: function () {
var arr = []
function f (obj) {
for (var i in obj) {
if (obj[i].checked) {
// console.log(2)
arr.push(obj[i].name)
}
if (obj[i].children) {
if (obj[i].children.length !== 0) {
f(obj[i].children)
}
}
}
}
f(this.treeData)
this.selectFormResult = arr
console.log(this.selectFormResult)
}
3.シミュレーションSLidendown sledUpアニメーション効果プロジェクトの完全コード住所:https://github.com/YalongYan/tree
補足知識:vue実現elmentはツリーコントロールを編集できます。
機能の実現度:
elmentツリーコントロールは、追加、削除機能を備えています。この項目は、編集機能を追加し、新規にノードに名前を付けることができます。追加されたノードに直接名前を変更することもできます。
先に効果を見ます
コントロールが変更されました。入力ボックス、キーワードフィルタを入力すると、ノードアイコンが変わります。。。elment Treeツリーコントロールドキュメントを参照してください。
ダウンロード
プロジェクト住所:https://github.com/midnightvisitor/vue-el-tree.git
必要なら、自分でダウンロードしてください。
以上のように、第三者に依存しないで、単にvueでTreeツリーコントロールを実現するというケースは、小編集が皆さんに共有している内容の全部です。