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
})