vue treeselect 현재 선택 한 label 인 스 턴 스 가 져 오기
5386 단어 vuetreeselectlabel
<treeselect :placeholder="$t('taskManage.lockTask.selDeptId')"
:options="deptTree"
:normalizer="normalizer"
v-model="formData.deptId"
@select="selectDepart">
</treeselect>
//
selectDepart(val) {
console.log('selectDepart', val)
this.formData.deptName = val.name
}
결 과 는 다음 과 같 습 니 다.현재 선택 한 항목 의 정 보 를 얻 을 수 있 습 니 다.추가 지식:vue 에서 element-ui 트 리 컨트롤-트 리 노드 선택(현재 노드 를 선택 하여 현재 id 를 얻 고 부모 급 id 를 얻 습 니 다)
Element-ui 홈 페이지 에서 주 는 방법
getCheckedKeys() { console.log(this.$refs.tree.getCheckedKeys()); },
이 는 모든 하위 급 이 선 택 된 상태 에서 만 부모 급 id 를 얻 을 수 있 습 니 다.모든 하위 급 이 선택 되 지 않 으 면 가 져 온 id 는 하위 급 만 있 습 니 다.하지만 일반적으로 데 이 터 를 제출 할 때 백 엔 드 는 부모 id 가 필요 합 니 다.
두 가지 방법 으로 해결 할 수 있다.
1,항목 중의 ode 찾기modules\\element-ui\lib\\element-ui.common.js 파일
2.파일 에 있 는 TreeStore.prototype.getCheckedNodes 를 검색 하 는 방법 중
if (child.checked && (!leafOnly || leafOnly && child.isLeaf)) {
checkedNodes.push(child.data);
}
3.
if ((child.checked || child.indeterminate) && (!leafOnly || leafOnly && child.isLeaf)) {
checkedNodes.push(child.data);
}
4.그리고 프로젝트 를 다시 시작 합 니 다.console.log(this.$refs.tree.getCheckedKeys());부모 노드 의 ID 를 받 을 수 있 습 니 다.
두 번 째 방법:
코드:pid:xxx 가 있어 야 합 니 다.
methods: {
getCheckedNodes() {
var rad=''
var ridsa = this.$refs.tree.getCheckedKeys().join(',')// [ ] -id,
var ridsb = this.$refs.tree.getCheckedNodes()// { }
ridsb.forEach(ids=>{// id
rad+=','+ids.pid
})
rad=rad.substr(1) // ','
var rids=rad+','+ridsa
var arr=rids.split(',')//
arr=[...new Set(arr)]; //
rids=arr.join(',')//
console.log(rids)
}
}
테스트 코드
<template>
<div>
<el-tree
:data="data2"
show-checkbox
default-expand-all
node-key="id"
ref="tree"
highlight-current
:props="defaultProps">
</el-tree>
<div class="buttons">
<el-button @click="getCheckedNodes"> </el-button>
<el-button @click="resetChecked"> </el-button>
</div>
</div>
</template>
<script>
export default {
methods: {
getCheckedNodes() {
var rad=''
var ridsa = this.$refs.tree.getCheckedKeys().join(',')// [ ] -id,
var ridsb = this.$refs.tree.getCheckedNodes()// { }
ridsb.forEach(ids=>{// id
rad+=','+ids.pid
})
rad=rad.substr(1) // ','
var rids=rad+','+ridsa
var arr=rids.split(',')//
arr=[...new Set(arr)]; //
rids=arr.join(',')//
console.log(rids)
},
resetChecked() {
this.$refs.tree.setCheckedKeys([]);
}
},
data() {
return {
data2: [{
pid:0,
path:xxxx,
id: 1,
label: ' 1',
children: [{
pid:1,
path:xxxx,
id: 11,
label: ' 1-1'
},
{
pid:1,
path:xxxx,
id: 12,
label: ' 1-2'
},
{
pid:1,
path:xxxx,
id: 13,
label: ' 1-3'
}]
}],
defaultProps: {
children: 'children',
label: 'label'
}
};
}
};
</script>
</script>
<style scoped>
</style>
3 급 또는 다단 계 라면 응답 하 는 데이터 형식 은'path:xxxx'가 있어 야 부모 급 id 를 얻 을 수 있 습 니 다.응답 하 는 데이터 형식
{
"data": [
{
"id": 30,
"path": xxxx,
"children": [
{
"id": 101,
"path": xxxx,
"children": [
{
"id": 104,
"path": xxxx,
"children": [
{
"id": 105,
"path": xxxx
}
]
}
]
}
]
}
],
"meta": {
"msg": " ",
"status": 200
}
}
여 기 는 인용~이 vue treeselect 에서 현재 선택 한 label 인 스 턴 스 를 가 져 오 는 것 은 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 할 수 있 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.