vue+element-ui form表单每行多个输入框

element-ui的form表单默认垂直分布,例如这样分布:

 以下是代码段:

<el-form
              ref="formLabelAlign"
              :label-position="labelPosition"
              label-width="100px"
              :model="formLabelAlign"
              :rules="rules"
            >
              <el-form-item label="用户名" style="margin-bottom: 8px;" prop="username">
                <el-input v-model="formLabelAlign.username" placeholder="请输入用户名" name="username" />
              </el-form-item>
              <el-form-item label="手机号" style="margin-bottom: 8px;" prop="phone">
                <el-input v-model="formLabelAlign.phone" placeholder="请输入手机号" />
              </el-form-item>
              <el-form-item label="登录密码" style="margin-bottom: 8px;" prop="password">
                <el-input v-model="formLabelAlign.password"  placeholder="8位密码且至少包含数字,大小写,特殊字符中的3类的强密码" show-password />
              </el-form-item>
              <el-form-item id="li_repwd" label="确认密码" style="margin-bottom: 8px;" prop="rePassword">
                <el-input v-model="formLabelAlign.rePassword" placeholder="再次输入登陆密码" show-password />
              </el-form-item>
            </el-form>

如果想要以下这种效果如何实现?答案是设置el-form的 inline 属性可以让表单域变为行内的表单域。

代码段中在el-form设置:inline=“true” 

<el-form
              ref="formLabelAlign"
              :label-position="labelPosition"
              label-width="100px"
              :model="formLabelAlign"
              :rules="rules"
              :inline="true"
            >
              <el-form-item label="用户名" style="margin-bottom: 8px;" prop="username">
                <el-input v-model="formLabelAlign.username" placeholder="请输入用户名" name="username" />
              </el-form-item>
              <el-form-item label="手机号" style="margin-bottom: 8px;" prop="phone">
                <el-input v-model="formLabelAlign.phone" placeholder="请输入手机号" />
              </el-form-item>
              <el-form-item label="登录密码" style="margin-bottom: 8px;" prop="password">
                <el-input v-model="formLabelAlign.password"  placeholder="8位密码且至少包含数字,大小写,特殊字符中的3类的强密码" show-password />
              </el-form-item>
              <el-form-item id="li_repwd" label="确认密码" style="margin-bottom: 8px;" prop="rePassword">
                <el-input v-model="formLabelAlign.rePassword" placeholder="再次输入登陆密码" show-password />
              </el-form-item>
            </el-form>

但是我设置完发现,并没有起作用,依旧是原来一样垂直分布,这边还需要设置el-from-item里控件的长度,

<el-input v-model="formLabelAlign.username" placeholder="请输入用户名" name="username" style="width: 100px"/>

具体长度可自己控制,这边便可以实现我们的目标,问题解决。
如果其他更好的解决方式,欢迎评论留言

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的示例代码: ```html <template> <div> <el-button type="primary" @click="showDialog">打开弹出层</el-button> <el-dialog title="表单弹出层" :visible.sync="dialogVisible"> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="姓名"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item label="年龄"> <el-input v-model.number="form.age"></el-input> </el-form-item> </el-form> <div slot="footer"> <el-button @click="dialogVisible = false">取 消</el-button> <el-button type="primary" @click="submitForm">确 定</el-button> </div> </el-dialog> </div> </template> <script> export default { data() { return { form: { name: '', age: null, }, dialogVisible: false, }; }, methods: { showDialog() { this.dialogVisible = true; }, submitForm() { this.$refs.form.validate(valid => { if (valid) { // 表单验证通过,提交表单数据 console.log('表单数据:', this.form); this.dialogVisible = false; } }); }, }, }; </script> ``` 解释一下代码: 1. 通过 `el-dialog` 组件实现弹出层的效果。 2. 使用 `el-form` 和 `el-form-item` 组件创建表单。 3. 通过 `v-model` 绑定表单数据。 4. 在弹出层底部添加两个按钮,通过 `@click` 事件绑定对应的方法。 5. 在 `submitForm` 方法中,调用 `this.$refs.form.validate` 方法进行表单验证,验证通过后提交表单数据。 6. `v-model.number` 可以将输入框的值转为数字类型。 希望这个示例能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值