当前位置: 首页 > wzjs >正文

网站开发运行详细步骤潍坊手机网站建设

网站开发运行详细步骤,潍坊手机网站建设,页面设计公司排名,网站关键词不稳定效果展示 取消子级勾选&#xff0c;父级的勾选效果 代码合集 &#xff08;1&#xff09;组件代码 fromlist.cheackType 类型&#xff0c;permissio表示是权限. fromlist:[{id:1,children:[{...}]},...]传递的数据大致结构 <!-- 操作权限 --><template v-if"…

效果展示

取消子级勾选,父级的勾选效果

代码合集

(1)组件代码  fromlist.cheackType  类型,permissio表示是权限. fromlist:[{id:1,children:[{...}]},...]传递的数据大致结构

<!-- 操作权限 --><template v-if="fromlist.cheackType == 'permission'"><div v-if="item.cheackall && item.title" class="CheackAllBox"><el-checkbox v-model="item.selected" :indeterminate="item.isIndeterminate" :label="item.title" @change="(value) => { handelCheackAll(value, key, item);} ">{{ item.name }}</el-checkbox></div><el-checkbox-group v-model="TableList[key]"><!-- 最父级 --><div v-for="(val, i) in item.children" class="tow_box"><el-checkbox :indeterminate="val.isIndeterminate" @change="(value) => { cheackChange(value, key, val, val.id, item);}" :label="val.id">{{ val.name }}</el-checkbox><div class="three_box_nochildren"><template v-for="(c_val, i) in val.children"><div v-if="!c_val.children"> <el-checkbox :label="c_val.id">{{ c_val.name}}</el-checkbox></div></template></div><!-- 子级 --><div class="three_box"><template v-for="(c_val, i) in val.children"><div v-if="c_val.children"><el-checkbox :label="c_val.id" :indeterminate="c_val.isIndeterminate" @change=" (value) => {cheackChange(value, key, c_val, c_val.id, val);}" >{{ c_val.name }}</el-checkbox><div class="four_box"><template v-for="(s_val, i) in c_val.children"><el-checkbox :indeterminate="s_val.isIndeterminate" @change=" (value) => { cheackChange( value,key, s_val,s_val.id, c_val ); }" :label="s_val.id">{{ s_val.name }}</el-checkbox><div :class=" s_val.children.length > 0 ? 'fir_box' : 'four_box'" v-if="s_val.children.length > 0 "><template v-for="(ss_val, i) in s_val.children"><el-checkbox :indeterminate="ss_val.isIndeterminate" @change=" (value) => { cheackChange( value, key, ss_val, ss_val.id, s_val);}" :label="ss_val.id"> {{ ss_val.name }} </el-checkbox><div :class="ss_val.children.length > 0? 'fir_box': 'four_box'" v-if="ss_val.children.length > 0"><template v-for="(sss_val, i) in ss_val.children"><el-checkbox :indeterminate="sss_val.isIndeterminate" @change=" (value) => { cheackChange(value, key,sss_val, sss_val.id,ss_val); }" :label="sss_val.id"> {{ sss_val.name }}</el-checkbox></template></div></template></div></template></div></div></template></div></div></el-checkbox-group></template>

(2) 处理方法

function cheackChange( value: any,key: string,item: any,id: any,p_item: any,isselect: boolean) {
//点击传递的数据console.log('value',value,'key',key,'item',item,'id',id,'p_item',p_item,'isselect',isselect);if (!props.fromlist.notrigger) {
//判断是否有子数据,则调到处理全选方法 针对点击的多选这个数据的子级,而不是最父级的子级if (item.children.length > 0) {handelCheackAll(value, key, item, id, "");}
//cheack点击传递过来的 数据 trus or falseif (value) {//处理勾选的方法getIdUpdataPrintSelectStatus(p_item,key,isselect,item.id,value,true,id);} else {//将点击的对象赋值为 false 就是取消勾选 item.isIndeterminate = false;//处理勾选的方法getIdUpdataPrintSelectStatus(p_item, key,isselect,item.id,value,false,id);}}}function getIdUpdataPrintSelectStatus(data: any,key: string,isselect: boolean,printid: number,value: boolean,is: boolean,id: number) {forFromlistGetIdUpdataStatus(props.fromlist.listData[key],data.id,key,is,id);
}function forFromlistGetIdUpdataStatus(data:any,printid:number,key:string,is:boolean,id:number){//传递过来的 多选存放的数组 data : 传递给组件渲染的数组  ,printid:多选勾选的元素的父级id  key:是当前分辨是哪个组件的key(如标签页点击切换不同模块下的多选,key就是tab的key值) is:勾选返回的 true(勾选中)/false(取消勾选)  id:当前勾选元素的id 在此方法中没用到//循环传递过来的数组data.children.map(item=>{//判断数组下是否能够匹配到 传递过来当前勾选数据的父id(判断父级勾选效果)if(item.id == printid){//找到勾选的父级//判断结构数组的子级的id是否存在 TableList[key]存放勾选数据中 并且 判断(你勾选的那个cheack)当前勾选的状态是trueif(item.children.every(c_item=> TableList[key].includes(c_item.id)) && is){//判断是否取消 cheack indeterminate属性,循环父级中是否所有的子级被勾选let isinfalse = item.children.every(c_item => {// 判断勾选数据中是否存在所有的子级数据。 并且子级为false if (TableList[key].includes(c_item.id) && !c_item.isIndeterminate ) {// 判断是否包含所有子级数据 这一层已经可以循环到勾选的那层级了return c_item.children.every(cc_item => TableList[key].includes(cc_item.id));}return false;});//判断是否存在勾选数据中,没有的话就添加进去TableList[key].includes(item.id)  ? '' : TableList[key].push(item.id)//是否父级层级下的子级全部勾选,将isIndeterminate设置为false ,设置为false 并且 父级下的子级数据全部都在TableList[key]中,父级勾选状态就会变成勾选。isinfalse  ? item.isIndeterminate = false : ''}else if(item.children.some(c_item=> TableList[key].includes(c_item.id))){// console.log('有子集并且还是勾选状态',item,'TableList[key]',TableList[key]);!TableList[key].includes(item.id)  ? TableList[key].push(item.id)   : ''//设置为减号item.isIndeterminate = true}else{//勾选的数组中如果不存在父级中的子级数据 就将父级取消所有状态 变成空的cheack框item.isIndeterminate = isTableList[key] = TableList[key].filter(num => num != item.id);}//如果此层级找不到就一层一层向上找 直到能匹配上传递过来的勾选父级id:printidforFromlistGetIdUpdataStatus(props.fromlist.listData[key],item.parent_id,key,is,id)}else {//如果此层级找不到就一层一层向下找 直到能匹配上传递过来的勾选父级id:printidforFromlistGetIdUpdataStatus(item,printid,key,is,id)}

http://www.dtcms.com/wzjs/818230.html

相关文章:

  • 网站建设方面wordpress管理员用户名更改
  • 免费行情软件网站大全下载建一个个人网站一年多少钱
  • 常熟网站开发wordpress添加返回顶部
  • 做网站的的需求文档wordpress自定义用户字段
  • 宜兴做网站的公司有哪些天元建设集团有限公司分公司
  • 宁波自助建站网站上海专业做网站的
  • 女頻做的最好的网站在线旅游网站建设前的调研
  • 建设网站教程全集中小型企业网站建设与管理
  • 江苏水利厅建设网站宁波建站推广技术公司
  • 广东美景园林建设有限公司网站wordpress快讯模块
  • 网站建设属于什么类的采购网站贸易表格怎么做
  • 专门做特卖的网站是什么写网站的教程
  • 一个免费的影视网站模板wordpress点开文章显示空白页
  • 购物网站模板 php外包app公司
  • 重庆金山建设监理有限公司网站做网站开发要注册
  • 网站开发qq头像为什么用wp做网站
  • 淘宝网站网页图片怎么做著名的响应式网站有哪些
  • 网站建设的主要结构怎样做网站制作团队
  • 做网站有什么优势可信网站认证 费用
  • 保定建站模板企微scrm收费
  • 太原自助模板建站公司网站百度小程序开发
  • 12306网站多少钱做的网站管理的主要工作有哪些
  • 网站做词网站开发合同模版
  • 湖南企业建站系统信息xp怎么建设网站
  • 电商平台网站建设合同超炫酷的网站
  • 做python项目的网站做简单网站怎么做
  • 网站开发用px好还是em好seo sem sns的区别
  • 厦门网站排名优化费用个人免费展示网站
  • 郑州商务网站建设如何制作软件程序
  • 惠州网站建设电话wordpress qtranslate