layuiシャトルボックスに一度入ったら、減算和集合法を使用して、無効になっているアイテムの一部を前処理することを忘れないでください

Layuiシャトルボックスのtransfer.renderメソッドは、[すべてのデータ]オブジェクト配列データと[初期右データ] id配列値を受け入れます

需要は次のようになります。シャトルボックスを使用して従業員に役割を割り当てると、オペレーションアカウントにない役割を割り当てることができなくなります。ページは次のとおりです。

 ajaxリクエストによって取得されたオブジェクト配列:自分のロールmyRoles、および操作された従業員のロールhisRoles

シャトルボックスの値として、シャトルボックスの右側にアイテムID配列を生成します

hisRolesIdList = []; 
hisRoles.forEach(his => hisRolesIdList.push(his.id));

運営されている従業員の役割、あなたが所有していない役割disableRolesを計算します

disableRoles = [... hisRoles] .filter(his => [... myRoles] .every(my => my.id!== his.id));

差セットと減算セットは、シャトルボックスのデータとしてのすべてのアイテムを含む和集合です。

unionRoles = [... myRoles、... disableRoles];

disableRolesはコピーされた配列であるため、unionRolesにdisabled属性を追加します

unionRoles.forEach(x => {if(new Set(disableRoles).has(x))x.disabled = true;});

すべての準備が整いました。次にシャトルボックスを生成するだけです。

transfer.render({
  
  

……。

日付:unionRoles、
値:hisRolesIdList
})

おすすめ

転載: blog.csdn.net/u012452555/article/details/110161023