반응형
v-model 및 데이터베이스 바인딩 없이 입력에 값 할당
v-for에서 일부 입력 필드를 개체에 바인딩하지 않고 일부 텍스트로 초기화해야 합니다.현재 시도 중입니다.
<div v-for="item in allItems">
<input type="text" class="header-title" value="item.name"></input>
</div>
단, item.name은 아이템명이 아닌 입력으로 출력됩니다.어떻게 하면 좋을까요?
v-model
통사당일 뿐이다:value
이벤트, 보통@input
여기서 문서를 참조해 주세요.
noop 함수를 전달할 수 있습니다.() => {}
값 업데이트를 취소하거나 새 값으로 원하는 작업을 수행하려면 값을 다른 개체에 할당할 수 있습니다.
주의:<input>
요소는 무효이며 닫힘 태그가 필요하지 않습니다.
new Vue({
el: '#app',
data() {
return {
allItems: [{ name: 'foo' },{ name: 'bar' }]
}
},
})
<script src="https://unpkg.com/vue@2.5.9/dist/vue.js"></script>
<div id="app">
<div v-for="item in allItems">
<input type="text" class="header-title" :value="item.name" @input="() => {}">
{{ item.name }}
</div>
</div>
입력값의 표시값:item.value
를 사용하는 것만으로ref
기여하다.
추가만 하면 됩니다.ref=''
이 값을 마운트된 함수 내부의 입력 값에 매핑합니다.
new Vue({
el: '#app',
data () {
return {
allItems: [
{name: 'foo'},
{name: 'bar'}
]
}
},
mounted () {
let self = this;
this.$refs.inp.map( (m, k) => {
m.value = self.allItems[k].name
})
}
})
<script src="https://unpkg.com/vue@2.5.9/dist/vue.js"></script>
<div id="app">
<div v-for="item in allItems">
<input type="text" class="header-title" value="item.name" ref='inp'></input>
</div>
</div>
언급URL : https://stackoverflow.com/questions/49133151/assign-value-to-input-without-v-model-and-without-databinding
반응형
'programing' 카테고리의 다른 글
Java에서 플로트를 int로 변환하는 방법 (0) | 2022.08.27 |
---|---|
상위 컴포넌트의 소품 접근 방법 확인 - 포장지가 아닌 수입업체 (0) | 2022.08.27 |
Eclipse는 일치하는 변수를 강조 표시하지 않습니다. (0) | 2022.08.27 |
기능에서 vuex 작업을 사용하는 방법 (0) | 2022.08.27 |
pwa가 db가 아닌 api 캐시를 고려하는 것이 잘못되었습니까? (0) | 2022.08.21 |