var xm_one = xmSelect.render({ el: '#tree_one', tips: '请选择行业标签', empty: '呀,数据为空', filterable: true, searchTips: '请在此搜索标签', paging: false, pageSize: 10, radio: false, repeat: false, clickClose: false, max: 0, height: '200px', theme: { color: '#409eff', }, model: { label: { type: 'block', block: { //最大显示数量, 0:不限制 showCount: 1, //是否显示删除图标 showIcon: true, } } }, tree: { //是否显示树状结构 show: true, //是否展示三角图标 showFolderIcon: true, //是否显示虚线 showLine: false, //间距 indent: 10, //默认展开节点的数组, 为 true 时, 展开所有节点 // expandedKeys: false, //是否严格遵守父子模式 strict: false, //是否开启极简模式 simple: true, //点击节点是否展开 clickExpand: false, //点击节点是否选中 clickCheck: false, }, data: industryList, on: function (data) { var ids = []; var parentIds = [];

    data.arr.forEach(function (item) {
        ids.push(item.value);

        if (item.parent != 0) {
            parentIds.push(item.parent);
        }
    });

    var uniqueIds = Array.from(new Set(ids));
    var uniqueParentIds = Array.from(new Set(parentIds));

    var combinedIds = uniqueIds.concat(uniqueParentIds).join(',');

    $('#industry').val(combinedIds);
},

});

要实现在页面中点击取消选中所有子节点后父节点依然是选中状态,再次点击父节点全选所有子节点,再点击父节点取消父节点和所有子节点选中,可以修改 xm-select 的配置项中的 tree 参数,具体修改如下:

  1. 将'strict'属性改为 false,表示不严格遵守父子模式。
  2. 将'clickExpand'属性改为 false,表示点击节点不展开。
  3. 将'clickCheck'属性改为 false,表示点击节点不选中。

通过上述修改后,点击取消选中所有子节点后,父节点依然是选中状态,再次点击父节点会全选所有子节点,再点击父节点会取消父节点和所有子节点的选中状态。

xm-select 1.2.4 版本实现点击取消选中子节点后父节点保持选中状态

原文地址: https://www.cveoy.top/t/topic/qfCW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录