vuetify.js如何获取v容器的完整宽度

时间:2018-06-26 08:16:51

标签: vue.js vuejs2 vuetify.js

我是vuetify.js的新手,并开始使用它。

enter image description here

这是我的代码。

Admin-panel.vue

<v-content class="yellow">
  <v-container>
    <v-layout>
      <router-view></router-view>
    </v-layout>
  </v-container>
</v-content>

create-user.vue

<template>
    <v-container class="red">
        <v-layout class="blue">
            <v-flex md12>
                form
            </v-flex>
        </v-layout>
    </v-container>
</template>

在这里,我可以看到v-container元素获得了可用的完整宽度。 我想要的是在创建用户组件中的v-container,以获得相同的宽度。 (黄色将消失,红色将填满屏幕)

我该如何实现?

5 个答案:

答案 0 :(得分:2)

@Billial Begueradj 发布的答案是完美的。但是,如果在层次结构中有一个未经检查的 v-container 标记,问题可能仍然存在

这行不通

<v-container>
  <v-container fluid>This will not work</v-container>
<v-container>

在上面的代码中,内部的 v-container 标签不会实现全宽,因为在层次结构中还有另一个 v-container 标签没有设置为全宽布局,它会有效地限制内部

这会起作用

<v-container fluid>
  <v-container fluid> This will work </v-container>
</v-container>

将内部和外部 v-container 标签设置为占据全宽即可解决问题。

答案 1 :(得分:0)

您可以尝试这样

master.vue

<v-app id="app">
<v-navigation-drawer
        v-model="drawer"
        temporary
        absolute
>
    <sidebar></sidebar>
</v-navigation-drawer>
<v-toolbar dark color="primary" fixed app>
    <v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon>
    <v-toolbar-title class="white--text">MyBlog</v-toolbar-title>
    <v-spacer></v-spacer>
    <v-toolbar-items>
        <v-text-field
                color="purple"
                id="globalSearch"
                name="globalSearch"
                label="Search"
                v-model="globalSearch"
                v-validate="'required'"
        ></v-text-field>
        <v-btn to="dashboard" flat>Dashboard</v-btn>
        <v-btn to="login" flat>Login</v-btn>
        <v-btn flat>Register</v-btn>
    </v-toolbar-items>
</v-toolbar>
<v-content>
    <v-container fluid>
        <router-view></router-view>
    </v-container>
</v-content>
<v-footer height="auto">
    <v-card
            flat
            tile
            class="indigo lighten-1 white--text text-xs-center"
    >
        <v-card-text>
            <v-btn
                    v-for="icon in icons"
                    :key="icon"
                    icon
                    class="mx-3 white--text"
            >
                <v-icon size="24px">@{{ icon }}</v-icon>
            </v-btn>
        </v-card-text>
        <v-card-text class="white--text">
            &copy;2018 — <strong>Eliyas Hossain</strong>
        </v-card-text>
    </v-card>
</v-footer>
</v-app>

category.vue

<template>
<v-card>
        <v-card-title>
            <div>
                <h2 class="pl-2">Categories</h2>
                <v-btn @click="dialog = !dialog" color="primary" dark>New Category</v-btn>
            </div>
            <v-spacer></v-spacer>
            <v-text-field
                    v-model="search"
                    append-icon="search"
                    label="Search"
                    single-line
                    hide-details
            ></v-text-field>
        </v-card-title>
</v-card>
</template>

因此它将在右侧占据全部空间。

答案 2 :(得分:0)

您尝试使用边距和填充类/道具吗?

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->mediumText('content');
            $table->string('file_name')->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

<v-container class="red ma-0">

仅全屏显示移动设备?

答案 3 :(得分:0)

使用fluid道具:

<v-container 
  fluid
/>

Codepen

答案 4 :(得分:0)

我遇到了同样的问题。

我意识到在我的实例中,我在父页面和子页面上都有一个<v-content><v-content>用于使应用看起来更漂亮,并管理导航栏和标题栏上的间距。

请确保您的应用中仅声明了一个。