//インポートツリーのオプション
インポート{LOAD_CHILDREN_OPTIONS、LOAD_ROOT_OPTIONS} '@のriophae / VUE-treeselect' から
'riophae / VUE-treeselect / DIST / VUE-treeselect.css @' インポート
そして、この時間を宣言し、無負荷状態のため、この時間をクリックしません
た =と呼ばれる偽
<treeselect:オプション= " オプション":ロードオプション= " loadOptions "プレースホルダ= " カテゴリ" Vモデル= " 値"入力@ = " categoryValueChange(値)" />
非同期loadOptions({ アクション、 のparentNode、 コールバック }){ // 通常、AJAXのものをここで行います。 // サーバーが応答したら、 // 親ノードに子どものオプションを割り当てる&コールバックを呼び出します。 もし(アクション=== LOAD_ROOT_OPTIONS){ 場合(!と呼ばれる){ と呼ばれる = 真 } 他{ しようと{ constの解像度の=が待って これを。$ apis.requestCategoryTree() VARoptionsList = [] のために(VAR iは= 0 ; iはres.lengthを<; iは++ ){ VARの optionItem = { ID:RES [i]を.ID、 ラベル:RES [I]の.text、 子供:ヌル } optionsList.push( optionItem) } この .OPTIONS = optionsList この.options.sort(関数(X、Y){ 戻り x.label> y.label?1: - 1 }) } キャッチ(エラー){ にconsole.log(エラー) } } } もし(アクション=== LOAD_CHILDREN_OPTIONS){ スイッチ(parentNode.id){ ケースparentNode.id: { simulateAsyncOperation(() => { この .requestTreeData(parentNode.id) .then(応答=> { parentNode.children = [] のために(VAR i = 0 ; iはresponse.lengthを<; iは++ ){ VARの childrenItem = { ID:レスポンス[I] .ID、 ラベル:応答[I]の.text } parentNode.children.push(childrenItem) // parentNode.children = [{ // ID: '子'、 // ラベル: '子供のオプション' 、 // }] } }) コールバック() }) ブレイク } デフォルト: / * 空* / } } }、
ここに私自身の書き込みがやや曖昧かもしれで、文書は確かに理解を見ていきます
https://vue-treeselect.js.org/