Element el-icon 图标组件详解

点此查看全部文字教程、视频教程、源代码

1. 背景

使用图标可以使我们的系统界面更加的炫酷美妙,Element也提供了一些常用的图标可以直接拿来使用。

2. 使用方式

第1种方式通过class样式使用,如下即显示了一个搜索图标。注意图标是以el-icon-开头的,后面的单词表示图标的含义。

 <i class="el-icon-search"></i>

此时同样可以将图标放入按钮中。

    <el-button type="primary"><i class="el-icon-search"></i>搜索</el-button>
    <el-link type="primary"><i class="el-icon-search"></i>搜索</el-link>

第2中方式是可以直接指定组件的icon属性,这种方式下组件的显示会更加标准好看,推荐使用这种方式。

    <el-button type="primary" icon="el-icon-search">搜索</el-button>
    <el-link type="primary" icon="el-icon-search">搜索</el-link>

以上代码效果如下:
在这里插入图片描述

3. 图标列表

可以从官网查询所有支持的图标:图标列表

<think>好的,我现在需要解决用户关于Element UI的el-form-item中使用按钮的正确写法和功能实现的问题。用户提到了handleQuery和resetQuery方法,所以我应该重点放在表单中的按钮如何绑定这些方法,以及表单验证和重置的相关操作。 首先,我应该回忆Element UI的官方文档中关于el-form-item和按钮的部分。记得在el-form-item中可以放置各种表单控件,包括按钮。按钮通常使用el-button组件,而表单验证通常通过rules属性设置,并通过refs调用validate方法。 接下来,用户可能想知道如何在el-form-item中添加查询和重置按钮,并确保它们触发相应的方法。比如,查询按钮可能会触发表单验证,如果验证通过则提交数据;重置按钮可能需要调用resetFields方法来清空表单字段。 我需要考虑代码的结构,比如在el-form-item内部放置el-button,并为其绑定click事件处理函数。同时,要注意按钮的类型,比如查询按钮可能是primary类型,而重置按钮可能是default或info类型。 另外,用户提供的引用中提到了resetFields方法的使用,需要注意在调用resetFields之前可能需要等待DOM更新,使用$nextTick来确保表单引用正确。此外,如果某些字段不在表单的model中,可能需要手动重置,这也是需要注意的地方。 还需要考虑表单验证规则的设置,确保每个el-form-item的prop属性与model中的字段对应,这样rules才能正确应用。如果用户遇到验证不生效的问题,可能需要检查prop是否正确,或者是否在el-form上设置了正确的model和rules。 最后,要给出示例代码,展示正确的按钮用法,包括handleQuery和resetQuery方法的具体实现,以及如何在模板中绑定这些方法。同时,要提醒用户常见的注意事项,比如按钮类型、resetFields的局限性等。</think>### Element UI el-form-item 按钮用法详解Element UI的`el-form-item`中使用按钮需要结合表单验证和事件处理机制实现功能。以下是具体实现方法和示例代码: #### 1. 基础按钮结构 在`el-form-item`中放置按钮时,需配合`el-button`组件,并通过`@click`绑定事件: ```html <el-form-item> <el-button type="primary" @click="handleQuery">查询</el-button> <el-button @click="resetQuery">重置</el-button> </el-form-item> ``` #### 2. 功能实现示例 ```javascript export default { methods: { // 查询操作(带表单验证) handleQuery() { this.$refs.searchForm.validate(valid => { if (valid) { // 执行查询逻辑 this.fetchData() } }) }, // 重置操作 resetQuery() { this.$nextTick(() => { this.$refs.searchForm.resetFields() this.$emit('reset') // 可触发父组件事件 }) } } } ``` #### 3. 完整表单结构示例 ```html <el-form ref="searchForm" :model="formData" :rules="formRules"> <el-form-item label="名称" prop="name"> <el-input v-model="formData.name"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="handleQuery">查询</el-button> <el-button @click="resetQuery">重置</el-button> </el-form-item> </el-form> ``` #### 4. 关键配置说明 1. **验证规则配置**: ```javascript formRules: { name: [{ required: true, message: '请输入名称', trigger: 'blur' }] } ``` 2. **resetFields注意事项**: - 只会重置表单初始值,需确保`el-form`的`model`正确绑定[^2] - 需要等待DOM更新的情况应使用`$nextTick`[^2] 3. **按钮功能差异**: | 按钮类型 | 主要功能 | 相关方法 | |------------|------------------------------|----------------------| | 查询按钮 | 触发表单验证和提交 | validate() | | 重置按钮 | 重置表单值到初始状态 | resetFields() | #### 5. 常见问题处理 1. **按钮不生效**: - 检查`el-form`是否设置`ref`属性 - 确认`resetFields`调用在`$nextTick`中 2. **验证不触发**: - 确保`el-form-item`的`prop`与`model`字段匹配[^1] - 检查`rules`是否正确定义[^1] 3. **嵌套表格验证**: 当表单嵌套`el-table`时,需要使用动态prop规则[^3] ```html <el-table-column prop="price"> <template slot-scope="scope"> <el-form-item :prop="'items.' + scope.$index + '.price'"> <el-input v-model="scope.row.price"></el-input> </el-form-item> </template> </el-table-column> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员大阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值