el-form每行显示两列底部按钮居中效果的实现

下面我将详细讲解“el-form每行显示两列底部按钮居中效果的实现”的完整攻略。

1. 使用 element-ui 中的 el-form 搭建表单

在使用 element-ui 的 el-form 前,需要先引入 element-ui 库和样式文件,并在 Vue 中进行配置。在添加表单元素时,可以利用 el-col、el-row 以及 span 属性来设置每行的列数和每列元素所占的宽度比例。例如:

<template>
  <el-form ref="form" :model="formData" label-width="100px">
    <el-row>
      <el-col :span="12">
        <el-form-item label="用户名" prop="username">
          <el-input v-model="formData.username"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="密码" prop="password">
          <el-input type="password" v-model="formData.password"></el-input>
        </el-form-item>
      </el-col>
    </el-row>
    <el-row>
      <el-col :span="12">
        <el-form-item label="邮箱" prop="email">
          <el-input v-model="formData.email"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="性别" prop="gender">
          <el-radio-group v-model="formData.gender">
            <el-radio :label="1">男</el-radio>
            <el-radio :label="2">女</el-radio>
          </el-radio-group>
        </el-form-item>
      </el-col>
    </el-row>
  </el-form>
</template>

2. 在表单底部添加两个按钮

可以利用 el-form 的 slot 属性来自定义表单中的内容。在此我们可以使用 slot="footer" 在表单底部添加两个居中显示的按钮。例如:

<template>
  <el-form ref="form" :model="formData" label-width="100px">
    <el-row>
      <el-col :span="12">
        <el-form-item label="用户名" prop="username">
          <el-input v-model="formData.username"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="密码" prop="password">
          <el-input type="password" v-model="formData.password"></el-input>
        </el-form-item>
      </el-col>
    </el-row>
    <el-row>
      <el-col :span="12">
        <el-form-item label="邮箱" prop="email">
          <el-input v-model="formData.email"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="性别" prop="gender">
          <el-radio-group v-model="formData.gender">
            <el-radio :label="1">男</el-radio>
            <el-radio :label="2">女</el-radio>
          </el-radio-group>
        </el-form-item>
      </el-col>
    </el-row>
    <div slot="footer" class="dialog-footer">
      <el-button @click="dialogVisible = false">取消</el-button>
      <el-button type="primary" @click="submitForm">提交</el-button>
    </div>
  </el-form>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const dialogVisible = ref(false);
    const formData = ref({
      username: '',
      password: '',
      email: '',
      gender: '',
    });

    const submitForm = () => {
      this.$refs.form.validate((valid) => {
        if (valid) {
          alert('submit!');
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    };

    return {
      dialogVisible,
      formData,
      submitForm,
    };
  },
};
</script>

3. CSS 样式调整

为了实现按钮的居中效果,我们需要对底部的 div 标签添加一些样式设置。例如:

.dialog-footer {
  text-align: center;
  margin-top: 20px;
  padding: 10px 0;
  border-top: 1px solid #ddd;
}

这样就可以实现 el-form 每行显示两列底部按钮居中效果的实现。

另外还有一种方法是利用 flex 布局来实现。具体方法可以参考下面的示例代码:

<template>
  <el-form ref="form" :model="formData" label-width="100px">
    <el-row class="form-row">
      <el-col :span="12">
        <el-form-item label="用户名" prop="username">
          <el-input v-model="formData.username"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="密码" prop="password">
          <el-input type="password" v-model="formData.password"></el-input>
        </el-form-item>
      </el-col>
    </el-row>
    <el-row class="form-row">
      <el-col :span="12">
        <el-form-item label="邮箱" prop="email">
          <el-input v-model="formData.email"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="性别" prop="gender">
          <el-radio-group v-model="formData.gender">
            <el-radio :label="1">男</el-radio>
            <el-radio :label="2">女</el-radio>
          </el-radio-group>
        </el-form-item>
      </el-col>
    </el-row>
    <div class="form-footer">
      <el-button @click="dialogVisible = false">取消</el-button>
      <el-button type="primary" @click="submitForm">提交</el-button>
    </div>
  </el-form>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const dialogVisible = ref(false);
    const formData = ref({
      username: '',
      password: '',
      email: '',
      gender: '',
    });

    const submitForm = () => {
      this.$refs.form.validate((valid) => {
        if (valid) {
          alert('submit!');
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    };

    return {
      dialogVisible,
      formData,
      submitForm,
    };
  },
};
</script>

<style>
.form-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.form-row el-col {
  width: 48%;
}
.form-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
}
.form-footer el-button {
  margin: 0 10px;
}
</style>

以上两种方法都可以实现表单每行显示两列以及底部按钮居中的效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:el-form每行显示两列底部按钮居中效果的实现 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • HTML+CSS 实现顶部导航栏菜单制作

    下面我来为你详细讲解“HTML+CSS 实现顶部导航栏菜单制作”的完整攻略。 一、准备工作 在实现顶部导航栏菜单前,我们需要先准备好相关的素材和环境。 1.1 需要的素材 制作顶部导航栏菜单需要用到一些素材,具体包括:logo、背景图片、导航栏菜单文字和链接等。 在准备素材时,需要注意图片的大小和格式,要保证图片大小适当、格式正确,避免影响页面加载速度和美观…

    css 2023年6月9日
    00
  • jquery 图片Silhouette Fadeins渐显效果

    针对“jQuery图片Silhouette Fadeins渐显效果”的实现过程,可以按照以下步骤进行: 步骤1:下载jQuery插件 首先需要下载并引入jQuery插件,可以访问以下链接下载: https://code.jquery.com/jquery-3.2.1.min.js 然后将下载好的jQuery插件文件引入到网站页面中。 示例代码: <he…

    css 2023年6月10日
    00
  • 详解CSS3中常用的样式【基本文本和字体样式】

    下面我就来详细讲解 CSS3 中常用的样式基本文本和字体样式,包括字体、文本颜色、文本阴影、文字格式化、文本间距等。 字体 CSS3 中定义字体的方式有多种,其中最常见的为 font-family 属性,它用于指定元素的字体系列。常见的字体系列有 Serif、Sans-Serif、Monospace 等,如果想自定义字体系列,可以使用 @font-face …

    css 2023年6月9日
    00
  • js CSS操作方法集合

    JavaScript CSS 操作方法集合 概述 JavaScript 可以通过操作 DOM 来实现对 HTML 和 CSS 的操作。下面总结了一些常见的 JavaScript 操作 CSS 的方法。 1. 获取/设置 CSS 样式 获取元素的 CSS 样式 可以通过 getComputedStyle 方法来获取一个元素的样式: const element …

    css 2023年6月10日
    00
  • border-radius给元素添加圆角边框的方法

    当我们需要给元素添加圆角边框时,可以使用CSS属性border-radius来轻松实现。下面是关于如何使用border-radius属性来添加圆角边框的攻略: 一、使用border-radius属性添加圆角边框 1. 在CSS样式中设置border-radius属性 使用border-radius属性可以轻松设置元素的圆角边框,它接受一个或多个值,用空格分隔…

    css 2023年6月10日
    00
  • CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式

    CSS3 重置iPhone浏览器按钮input,select等表单元素的默认样式,可以通过以下步骤实现: 选取需要重置样式的表单元素 首先,要重新设置表单元素的样式,需要准确选取需要重置样式的元素。可以利用CSS选择器中的属性选择器来选取想要的元素。例如,想要简化select下拉列表框的样式,可以利用以下选择器: select { /* 重置样式代码 */ …

    css 2023年6月11日
    00
  • 详细分析css float 属性以及position:absolute 的区别

    详细分析css float 属性以及position:absolute 的区别 CSS Float 属性 CSS Float 属性常用于制作文字环绕效果。设置浮动属性后,元素会跳出常规的文档流,根据浮动元素的宽度,向左或向右移动至其的包含块的边缘,其他内容会填补其旁边的可用空间。使用 Float 属性的元素被称为浮动元素。 Float 常见取值及应用 flo…

    css 2023年6月9日
    00
  • css样式的动态添加及显示和隐藏等零碎用法

    针对”css样式的动态添加及显示和隐藏等零碎用法”的问题,我来分享一些详细的攻略: 动态添加CSS样式 在网页中,我们可以通过JavaScript来动态添加CSS样式,这样可以让网页更加灵活美观,以下是使用JavaScript动态添加CSS样式的步骤: 1.创建一个新的style标签,将其插入到head标签中,代码如下: var style = docume…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部