vue el-button size-mini失效

今天在调试页面发现 el-button  size=mini 失效

检查发现 当  type="primary" size="mini"  时 size属性生效

当 type="warning" size="mini"  时 size属性失效

原因未知,知道的大神 评论区 谢谢

原因已找到  自己在下面加了样式 所以 primary居中了

.el-button--primary{

    width: 100px;

    height: 28px;

    text-align: center;

    border-radius: 4px;

    padding: 0;

  }

### Vue Element UI `el-table-column` 设置宽度的方法及属性配置 在 Vue 中使用 Element UI 的 `el-table` 组件时,可以通过多种方式为 `el-table-column` 设置宽度。以下是详细的说明: #### 1. **固定宽度** 如果需要为某一列设置固定的像素宽度,可以直接使用 `width` 属性,并指定具体的数值(单位默认为 `px`)。例如: ```html <el-table-column prop="name" label="名称" width="200"></el-table-column> ``` 此方法适用于不需要动态调整宽度的场景。 --- #### 2. **百分比宽度** 当尝试为 `el-table-column` 设置百分比宽度时,直接使用 `width` 属性可能会失效[^4]。这是因为 Vue 将模板编译为 HTML 后,会移除 `%` 符号并将值作为像素处理。解决这一问题的方式如下: - 使用 `min-width` 替代 `width` 并为其赋值为带有 `%` 的字符串。例如: ```html <el-table-column prop="category" label="类别" min-width="20%"></el-table-column> ``` 此时,`min-width` 被用来表示该列所占的比例,而不是绝对的像素值。需要注意的是,为了使整个表格按比例分布,**每列都需要设置 `min-width`**[^5]。 - 如果希望更精确地控制各列之间的比例关系,可以结合实际需求合理分配不同列的 `min-width` 值。例如: ```html <el-table v-loading="loading" :data="tableData"> <el-table-column prop="id" label="ID" min-width="6%"></el-table-column> <el-table-column prop="name" label="姓名" min-width="12%"></el-table-column> <el-table-column prop="create_time" label="创建时间" min-width="24%"></el-table-column> <el-table-column prop="update_time" label="更新时间" min-width="24%"></el-table-column> </el-table> ``` 在这种情况下,最终显示的宽度将是根据所有列的 `min-width` 总和按比例分配的结果。 --- #### 3. **自适应宽度** 对于某些特殊场景,可能希望通过插件或二次封装实现更加灵活的列宽管理。一种常见的做法是引入第三方库或者自行开发支持自动调整宽度的功能。例如,基于 Element UI 提供了一个名为 `AFTableColumn` 的增强型组件[^2],它允许开发者轻松扩展原生功能并满足复杂业务需求。 安装与使用示例: ```javascript // main.js import Vue from 'vue'; import ElementUI from 'element-ui'; import AFTableColumn from 'af-table-column'; Vue.use(ElementUI); Vue.component('af-table-column', AFTableColumn); ``` 随后可以在模板中替换原有的 `<el-table-column>` 标签为 `<af-table-column>` 来启用额外特性。 --- #### 4. **注意事项** - 不论采用哪种方案,均需注意整体布局的一致性和用户体验优化。 - 当前版本可能存在兼容性差异,请务必查阅官方文档确认最新 API 行为[^3]。 --- ### 示例代码 以下是一个完整的例子展示如何利用 `min-width` 实现响应式的表头设计: ```html <template> <div> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="date" label="日期" min-width="15%"></el-table-column> <el-table-column prop="name" label="名字" min-width="20%"></el-table-column> <el-table-column prop="address" label="地址" min-width="30%"></el-table-column> <el-table-column prop="action" label="操作" min-width="35%"> <!-- 插入自定义内容 --> <template slot-scope="scope"> <el-button size="mini">编辑</el-button> <el-button type="danger" size="mini">删除</el-button> </template> </el-table-column> </el-table> </div> </template> <script> export default { data() { return { tableData: [ { date: '2023-09-01', name: '张三', address: '北京市朝阳区' }, { date: '2023-09-02', name: '李四', address: '上海市浦东新区' } ] }; } }; </script> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值