vue+elementui 는 하나의 탄 상자 의 전체 코드 를 추가 하고 수정 합 니 다.
새로 증가 하 다
1.추가 버튼
2.이벤트 가 methods 에 추가 되 어 팝 업 창 을 여 는 데 사 용 됩 니 다.
dialog Visible 은 data 에서 true 나 false 를 사용 하여 폭탄 상 자 를 제어 하도록 정의 합 니 다.
**3、신규 확정,탄 상자 확정 이벤트,신규 및 수정 공용 하나의 확정 이벤트,사용 id 구별
**3、신규 이벤트
새로 추 가 된 인 터 페 이 스 를 조정 하여 id 가 있 는 지 판단 하고 없 으 면 새로 추 가 된 인 터 페 이 스 를 조정 합 니 다.
수정
2-1,수정 단추,표 줄 편집 단 추 는 scope.row 를 사용 하여 현재 줄 의 데 이 터 를 가 져 옵 니 다.
2-2.이 벤트 를 수정 하여 현재 줄 의 데 이 터 를 폼 에 할당 하면 현재 줄 의 데 이 터 를 다시 표시 합 니 다.
2-3、이벤트 수정
인 터 페 이 스 를 수정 하여 id 가 있 는 지 판단 하고 있 으 면 인 터 페 이 스 를 수정 합 니 다**
아래 코드 바로 올 라 갑 니 다.
<template>
<div>
<!-- -->
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item :to="{ path: '/Welcome' }"> </el-breadcrumb-item>
<el-breadcrumb-item> </el-breadcrumb-item>
<el-breadcrumb-item> </el-breadcrumb-item>
</el-breadcrumb>
<!-- -->
<el-card class="box-card">
<!-- -->
<el-row :gutter="20">
<el-col :span="6">
<div class="grid-content bg-purple"></div>
<el-button type="primary" @click="onhandAdd"> </el-button>
</el-col>
</el-row>
<!-- -->
<el-table :data="tableData" border="" style="width: 100%">
<el-table-column type="expand">
<template slot-scope="scope">
<el-row
:class="['bdbottom',i1 === 0? 'bdtop' : '', 'vcenter'] "
:gutter="20"
:span="6"
v-for="(item_ong,i1) in scope.row.children"
:key="item_ong.id"
>
<!-- -->
<el-col :span="5">
<el-tag>{{item_ong.authName}}</el-tag>
<i class="el-icon-caret-right"></i>
</el-col>
<!-- -->
<el-col :span="19">
<!-- -->
<el-row v-for="(item_two,i2) in item_ong.children" :key="i2">
<el-col :span="6">
<el-tag type="success">{{item_two.authName}}</el-tag>
<i class="el-icon-caret-right"></i>
</el-col>
<el-col :span="18">
<el-tag
type="warning"
v-for="(item_three,i3) in item_two.children"
:key="i3"
>{{item_three.authName}}</el-tag>
<i class="el-icon-caret-right"></i>
</el-col>
</el-row>
</el-col>
</el-row>
</template>
</el-table-column>
<el-table-column label="#" type="index" width="80"></el-table-column>
<el-table-column label=" " prop="roleName"></el-table-column>
<el-table-column label=" " prop="roleDesc"></el-table-column>
<el-table-column label=" " prop="id">
<template slot-scope="scope">
<el-button
type="primary"
icon="el-icon-edit"
size="small"
@click="handleEdit(scope.$index, scope.row)"
> </el-button>
<el-button type="warning" icon="el-icon-delete" size="small"> </el-button>
<el-button type="danger" icon="el-icon-edit" size="small"> </el-button>
</template>
</el-table-column>
</el-table>
</el-card>
<!-- -->
<el-dialog
:title="addtitle"
:visible.sync="dialogVisible"
width="40%"
:before-close="handleClose"
>
<el-form
:model="ruleForm"
:rules="rules"
ref="refRuleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label=" " prop="roleName">
<el-input v-model="ruleForm.roleName"></el-input>
</el-form-item>
<el-form-item label=" " prop="roleDesc">
<el-input v-model="ruleForm.roleDesc"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisibleConfirm"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [],
dialogVisible: false,
addtitle: " ",
ruleForm: {
roleName: "",
roleDesc: ""
},
allid: "",
//
rules: {
roleName: [
{ required: true, message: " ", trigger: "blur" },
{ min: 3, max: 5, message: " 3 5 ", trigger: "blur" }
],
roleDesc: [{ required: true, message: " ", trigger: "blur" }]
}
};
},
created() {
this.tabList();
},
methods: {
//
tabList() {
this.$api.jurisdiction.rolelist().then(res => {
console.log(res.data.data, "]]]]]]]");
this.tableData = res.data.data;
});
},
//
onhandAdd() {
this.dialogVisible = true;
},
handleClose(done) {
this.dialogVisible = false;
},
//
handleEdit(index, row) {
console.log(index, row.id);
this.dialogVisible = true; //
this.ruleForm = row; //row ,
this.allid = row.id; // id
},
//
dialogVisibleConfirm() {
//
if (!this.allid) {
this.$api.jurisdiction.addrole(this.ruleForm)
.then(res => {
// console.log(res," ")
this.$message.success(" "); //
this.$refs.refRuleForm.resetFields(); //
this.dialogVisible = false; //
this.tabList(); //
})
.catch(res => {
this.$message.error(" ");
});
} else {
//
let id = this.allid
let params = {
roleName:this.ruleForm.roleName,
roleDesc:this.ruleForm.roleDesc,
}
this.$api.jurisdiction.edtrole(id,params)
.then(res => {
console.log(res," ")
this.$message.success(" ");
this.$refs.refRuleForm.resetFields();
this.dialogVisible = false;
this.tabList();
})
.catch(res => {
this.$message.error(" ");
});
}
}
}
};
</script>
<style scoped>
.bdtop {
border-top: 1px solid #eee;
padding-top: 10px;
}
.bdbottom {
border-bottom: 1px solid #eee;
padding-bottom: 10px;
padding-top: 10px;
}
.el-tag {
margin: 10px 0px;
}
.vcenter {
display: flex;
align-items: center;
}
</style>
이상 은 vue+elementui 가 하나의 탄 상자 의 전체 코드 를 추가 하고 수정 하 는 상세 한 내용 입 니 다.vue elementui 탄 상자 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.