⊗jsvuPmCmRE 69 of 72 menu

Vue에서 컴포넌트 데이터의 반응형 편집

이제 우리 자식 컴포넌트 데이터 편집을 구현해 보겠습니다. 먼저 부모 컴포넌트에서 사용자 id에 따른 변경 메서드를 만듭니다:

methods: { change(id, name, surn) { this.users = this.users.map((user) => { if (user.id === id) { user.name = name; user.surn = surn; } return user; }); } }

루프 안에서 컴포넌트를 생성하고, 이름, 성, id 및 변경 메서드를 파라미터로 전달합니다:

<template> <User v-for ="user in users" :id ="user.id" :name ="user.name" :surn ="user.surn" :key ="user.id" @change="change" /> </template>

자식 컴포넌트 설정의 emits에 이벤트 방출을 정의합니다:

props: { id: Number, name: String, surn: String, }, emits: ['change'],

이제 자식 컴포넌트에서 컴포넌트 모드, 표시 또는 편집을 설정하는 속성을 만듭니다:

data() { return { isEdit: false, } }

편집을 위한 입력 필드 작동을 지원하는 속성도 만듭니다:

data() { return { isEdit: false, newName: '', newSurn: '', } }

이 속성들의 초기값이 프롭스에서 가져오도록 만듭니다:

data() { return { isEdit: false, newName: this.name, newSurn: this.surn, } }

편집 모드를 시작하는 메서드를 만듭니다:

methods: { edit() { this.isEdit = true; } }

편집된 데이터를 저장하고 편집 모드를 비활성화하는 메서드를 만듭니다:

methods: { save() { this.isEdit = false; this.$emit('change', this.id, this.newName, this.newSurn); } }

자식 컴포넌트의 템플릿을 만듭니다:

<template> <template v-if="!isEdit"> {{ name }} {{ surn }} <button @click="edit"> edit </button> </template> <template v-else> <input v-model="newName"> <input v-model="newSurn"> <button @click="save"> save </button> </template> </template>

Employee 컴포넌트 데이터 편집을 구현하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부