Javascript 我能';我不知道如何制作一个模态';设置按钮';成分
我正在使用Quasar VueJS,希望在导航栏上创建一个按钮,打开一个弹出对话框“设置”面板。我将使用这个设置面板来制作动态主题,但这有点离题 我目前正努力想办法做到这一点 “layouts/MainLayout.vue”Javascript 我能';我不知道如何制作一个模态';设置按钮';成分,javascript,vue.js,vue-component,quasar-framework,Javascript,Vue.js,Vue Component,Quasar Framework,我正在使用Quasar VueJS,希望在导航栏上创建一个按钮,打开一个弹出对话框“设置”面板。我将使用这个设置面板来制作动态主题,但这有点离题 我目前正努力想办法做到这一点 “layouts/MainLayout.vue” 从“组件/SetterUpper”导入SetterUpper; 导出默认值{ 名称:“主布局”, 组成部分:{ 塞特鲁珀 }, }; “组件/SetterUpper.vue” 占位符 导出默认值{ 名称:“塞特鲁珀”, }; 将q对话框移动到父组件。这样,您就不必传递
从“组件/SetterUpper”导入SetterUpper;
导出默认值{
名称:“主布局”,
组成部分:{
塞特鲁珀
},
};
“组件/SetterUpper.vue”
占位符
导出默认值{
名称:“塞特鲁珀”,
};
将q对话框移动到父组件。这样,您就不必传递任何道具或发出事件来确保多个组件知道v-modal变量的状态
像这样
MainLayout.vue
<template>
<q-layout view="lHh Lpr lFf">
<q-dialog v-model="dialogEnabled" persistent>
<SetterUpper />
</q-dialog>
<q-btn
unelevated
icon="settings"
label="Settings"
color="primary"
v-on:click="dialogEnabled = true"
/>
</q-layout>
</template>
<script>
import SetterUpper from 'components/SetterUpper'
export default {
name: 'MainLayout',
components: {
SetterUpper
},
data() {
return {
dialogEnabled: false
}
}
}
</script>
<template>
<q-card>
<q-card-section class="row items-center">
<q-avatar icon="settings" color="primary" text-color="white"/>
<span class="q-ml-sm">Placeholder</span>
</q-card-section>
<q-card-actions align="right">
<q-btn flat label="Cancel" color="primary" v-close-popup/>
<q-btn flat label="Save" color="primary" v-close-popup/>
</q-card-actions>
</q-card>
</template>
<script>
export default {
name: 'SetterUpper'
}
</script>
从“组件/SetterUpper”导入SetterUpper
导出默认值{
名称:'主布局',
组成部分:{
塞特鲁珀
},
数据(){
返回{
dialogEnabled:false
}
}
}
SetterUpper.vue
<template>
<q-layout view="lHh Lpr lFf">
<q-dialog v-model="dialogEnabled" persistent>
<SetterUpper />
</q-dialog>
<q-btn
unelevated
icon="settings"
label="Settings"
color="primary"
v-on:click="dialogEnabled = true"
/>
</q-layout>
</template>
<script>
import SetterUpper from 'components/SetterUpper'
export default {
name: 'MainLayout',
components: {
SetterUpper
},
data() {
return {
dialogEnabled: false
}
}
}
</script>
<template>
<q-card>
<q-card-section class="row items-center">
<q-avatar icon="settings" color="primary" text-color="white"/>
<span class="q-ml-sm">Placeholder</span>
</q-card-section>
<q-card-actions align="right">
<q-btn flat label="Cancel" color="primary" v-close-popup/>
<q-btn flat label="Save" color="primary" v-close-popup/>
</q-card-actions>
</q-card>
</template>
<script>
export default {
name: 'SetterUpper'
}
</script>
占位符
导出默认值{
名称:'SetterUpper'
}