我正在使用 Vue 和 Vuetify,但无法使用 $emit 从子组件中关闭对话框。在主要组件中,我使用 v:on:close-dialog="closeDialog" 并设置 this.dialog = false。我正在尝试从孩子内部调用该函数。尝试三种不同的方式:
<v-icon>close</v-icon>子组件中,我正在调用调用 this.$emit('close-dialog') 的 closeDialog 方法。<v-btn>Cancel</v-btn>,我有 v-on:click="$emit('close-dialog')"。<v-btn>Cancel 2</v-btn>,我有 v-on:click="$emit('dialog',false)"。这些都没有关闭对话框或触发主组件中的 closeDialog 方法。代码如下。
主要组件:
<template>
<v-flex>
<v-flex xs12 class="text-xs-right">
<v-dialog v-model="dialog" fullscreen hide-overlay
transition="dialog-bottom-transition">
<v-btn fab slot="activator" small color="red" dark>
<v-icon dark >add</v-icon>
</v-btn>
<childComponent v:on:close-dialog="closeDialog" />
</v-dialog>
</v-flex>
</v-flex>
</template>
<script>
import childComponent from './childComponent'
export default {
data(){
return{
dialog: false
}
},
name: 'Test',
components: {
childComponent
}, …Run Code Online (Sandbox Code Playgroud) 我正在将Vue与Vuetify一起使用,目前有一个带有一组单选按钮的表单:
<v-radio-group label="Active?">
<v-radio name="active" label="No" value="0" v-bind:checked="active === 0"></v-radio>
<v-radio name="active" label="Yes" value="1" v-bind:checked="active === 1"></v-radio>
</v-radio-group>
Run Code Online (Sandbox Code Playgroud)
在页面加载时,有效设置为1:
data: {
active: 1
}
Run Code Online (Sandbox Code Playgroud)
我看到输入已经被选中=“ checked”,但是该图标仍为“ radio_button_unchecked”,因此似乎没有被选中:
<input aria-label="Yes" aria-checked="false" role="radio"
type="radio" value="1" name="active" checked="checked">
<div class="v-input--selection-controls__ripple"></div>
<i aria-hidden="true" class="v-icon material-icons theme--light">radio_button_unchecked</i>
Run Code Online (Sandbox Code Playgroud)
如果单击单选按钮,它将图标更改为radio_button_checked,但是在页面加载时似乎没有发生。如果已检查与之关联的输入,如何获取vuetify并使用radio_button_checked进行加载?