버튼을 Vue.js로 전환하려면 어떻게 해야 합니까?
주의: 기능 및 스타일링에는 Vue.js 및 Vuetify.js를 사용합니다.
와 함께:class
그리고.@click
속성: 버튼의 배경색을 원하는 색으로 변경할 수 있었지만, 버튼은 클릭한 것뿐만 아니라 모든 항목에 적용됩니다.
질문:.한 번에 모든 버튼을 전환하지 않고 버튼을 전환하려면 어떻게 해야 합니까?
내 vue 파일에서:
<v-layout>
<v-flex md6>
<v-text-field>Welcome.</v-text-field>
</v-flex md6>
<v-flex id="icon-filter">
<span>Filter by:</span>
<v-btn class="filter-button" :class="{toggled: isToggled}" @click="isToggled = !isToggled"><v-icon>local_offer</v-icon></v-btn>
<v-btn class="filter-button" :class="{toggled: isToggled}" @click="isToggled = !isToggled"><v-icon>notifications</v-icon></v-btn>
</v-flex>
</v-layout>
에서script
동일한 vue 파일의 섹션:
<script>
export default {
data: function() {
return {
companies,
msg: "indiv",
dashboards: ['profile', 'charts'],
isToggled: false
}
},
methods: {
}
}
</script>
이 질문을 다 읽었는데 Vue 경고가 나와서isToggled
메서드를 이미 정의된 데이터 속성으로 지정합니다.항목 Vue.js 클래스 전환
데이터 바인딩에 대한 vue.js 문서도 읽어보았습니다만, 아직 도움이 필요합니다.https://vuejs.org/v2/guide/class-and-style.html
Vuetify 프레임워크는 버튼 컴포넌트를 전환했지만 클라이언트는 다른 스타일을 원하기 때문에 사용할 수 없습니다.https://vuetifyjs.com/components/buttons
다른 vue 파일 만들기(button.vue라고 함)...
button.vue
// template
<v-btn class="filter-button" :class="{toggled: isToggled}" @click="isToggled = !isToggled">
<slot></slot>
</v-btn>
// script
export default {
data: function () {
return {
isToggled: false
}
}
}
당신의_부모님.표시하다
// script
import CustomButton from './button.vue'
export default {
components: { CustomButton },
data...
}
// template
<v-layout>
<v-flex md6>
<v-text-field>Welcome.</v-text-field>
</v-flex md6>
<v-flex id="icon-filter">
<span>Filter by:</span>
<custom-button><v-icon>local_offer</v-icon></custom-button>
<custom-button><v-icon>notifications</v-icon></custom-button>
</v-flex>
</v-layout>
주의: CustomButton
그리고.button.vue
편리한 이름으로 변경할 수 있습니다.
이렇게 하면 각각custom-button
이제 전환할 수 있는 자체 데이터를 가질 수 있습니다!
나는 사용할 것이다.@click
함수와 함께 를 통과합니다.$event
javascript를 사용합니다.classList.toggle
css 클래스를 적용하거나 사용하는 함수.toggle()
그 밖에 하고 싶은 것은 무엇이든 한다.;
@click="myToggleFunction($event)"
그리고나서
methods: {
myToggleFunction: function(event){
let button = event.target;
button.classList.toggle('toggled');
}
}
언급URL : https://stackoverflow.com/questions/46814304/how-do-you-toggle-a-button-with-vue-js
'programing' 카테고리의 다른 글
Axios에서 VUE JS 데이터 액세스 (0) | 2022.08.13 |
---|---|
@keyup 이벤트에 의해 이 메서드가 트리거되지 않는 이유는 무엇입니까? (0) | 2022.08.13 |
모든 어레이 요소를 0으로 초기화할 수 있는 숏컷이 있습니까? (0) | 2022.08.13 |
vue.js에서 스타일 편집 양식을 생성하려고 합니다. (0) | 2022.08.13 |
Vuejs 2에서 vuetable-2를 사용하여 데이터를 검색할 수 없습니다. (0) | 2022.08.13 |