先看bug,目前已解决
页面下拉产生bug
然后我换个页面也是tree组件
好像是加了缓存一样,又好了,图片如下
然后刷新一下页面,又变成第一个图片的bug了
<el-dialog v-model="treeDialog.visible" :title="treeDialog.title">
<div>
<el-tree
style="height: 300px; overflow-y: auto"
ref="treeRef"
:data="treeOptionsData"
show-checkbox
node-key="id"
:props="{ label: 'label', children: 'children' }"
/>
<div class="treeDialogBtn">
<el-button @click="getCheckedKeys"
>get by key</el-button
>
<el-button @click="resetChecked">reset</el-button>
</div>
</div>
</el-dialog>
// 数据是下面这个
const treeOptionsData = ref<OptionType[]>();
// 封装的如下
interface OptionType {
/** 值 */
id: string | number;
/** 文本 */
label: string;
/** 子列表 */
children?: OptionType[];
}
出现原因是
const treeRef = ref<InstanceType>();
贴一下我的重置和确认代码
const getCheckedKeys = () => {
console.log(treeRef.value!.getCheckedKeys(false));
};
const resetChecked = () => {
treeRef.value!.setCheckedKeys([], false);
};
因为要获取选中的,所以用了ref treeRef,但是我后端返回的类型和给的例子的类型不一致,导致一直没处理好,后端写前端真就不停踩坑,上面直接给个[]就行了
const treeRef = ref([])