为了账号安全,请及时绑定邮箱和手机立即绑定

我不知道如何制作模态“设置按钮”组件

我不知道如何制作模态“设置按钮”组件

交互式爱情 2022-07-01 10:31:03
我正在使用 Quasar VueJS 并希望在我的导航栏上创建一个按钮,以打开一个弹出对话框设置面板。我将使用此设置面板来处理动态主题等内容,但这有点离题。我目前〜严重〜努力弄清楚如何做到这一点。“布局/MainLayout.vue”<template>        <q-btn          unelevated          icon="settings"          label="Settings"          color="primary"          v-on:click="SetterUpper"        /></template><script>import SetterUpper from "components/SetterUpper";export default {  name: "MainLayout",  Component: {    SetterUpper  },};</script>“组件/SetterUpper.vue”<template>  <q-dialog v-model="SetterUpper" persistent>    <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>  </q-dialog></template><script>export default {  name: "SetterUpper",};</script>
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

将您的 q-dialog 移动到您的父组件。这样您就不必传递任何道具或发出事件来确保多个组件知道您的 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>


SetterUpper.vue


<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>


查看完整回答
反对 回复 2022-07-01
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号