如何在对话框 vuetify 中设置布局行?

Posted

技术标签:

【中文标题】如何在对话框 vuetify 中设置布局行?【英文标题】:How can I set layout row in dialog vuetify? 【发布时间】:2020-02-10 02:34:05 【问题描述】:

我的布局有问题。看看这个:

https://codepen.io/positivethinking639/pen/YzzwYZq。

当对话框出现时,它看起来很奇怪。因为row(<v-row justify="center">) 的宽度大于dialog 的宽度。所以当模态对话框出现时就像有2个阴影。

我希望行的宽度(<v-row justify="center">)与对话框的宽度相同

我试过了。但我没有找到解决办法。希望有人帮助

【问题讨论】:

如果有帮助,这里有一个替代解决方案。添加以下 CSS 以隐藏 v-dialog 阴影 - .v-dialog box-shadow: none!important; 【参考方案1】:

将对话框设置为使用自动宽度

.v-dialog 
 width:unset;

在你的行中使用无排水沟

<v-row no-gutters justify="center">

在右侧列中添加 x 填充并删除 row=2 属性

<v-col class='px-3' v-show="foo.date !== null" 

【讨论】:

【参考方案2】:

在 v-col 上使用 v-card

<div id="app">
    <v-app>
      <v-content>
        <v-container>
          <v-dialog
            v-for="foo, k in foos"
            :key="foo.id"
            :close-on-content-click="false"
            transition="scale-transition"
            :return-value.sync="foo.date"
            max-
            min-
            v-model="modal[k]"
            :ref="'dialog' + k"
          >
            <template v-slot:activator=" on ">
              <v-btn color="success" dark v-on="on">call date foo.id  foo.date </v-btn>
            </template>
            <v-card class="py-2">
              <v-card-text>
                <v-row justify="center" no-gutters align-content="center">
                  <v-col md="auto" justify-self="center">
                    <v-date-picker v-model="foo.date" @input="changeHours">
                      <div class="flex-grow-1"></div>
                      <v-btn text color="primary" @click="modal[k] = false">Cancel</v-btn>
                      <v-btn text color="primary" @click="$refs['dialog' + k][0].save(foo.date)">OK</v-btn>
                    </v-date-picker>
                  </v-col>
                  <v-slide-y-transition>
                    <v-col
                      sm="3"
                      xs="12"
                      v-show="foo.date !== null"
                      :style="'background-color':'white'"
                    >
                      <template v-for="allowedTime in allowedTimes">
                        <v-btn
                          @click="setTime(allowedTime)"
                          class="my-2"
                          :outlined="allowedTime !== time"
                          block
                          x-large
                          color="primary"
                        > allowedTime </v-btn>
                      </template>
                    </v-col>
                  </v-slide-y-transition>
                </v-row>
              </v-card-text>
            </v-card>
          </v-dialog>
        </v-container>
      </v-content>
    </v-app>
  </div>

【讨论】:

好的。我先试试

以上是关于如何在对话框 vuetify 中设置布局行?的主要内容,如果未能解决你的问题,请参考以下文章

在自定义对话框中设置文本视图

如何在 Facebook 分享对话框中设置描述(你在想啥?)

如何在模态对话框中设置输入值?

如何在基于 MFC 对话框的应用程序中设置主对话框的大小

如何在 android 的 datepicker 对话框中设置最大日期?

如何在日期选择器对话框中设置日期限制