| | |
| | | <!-- @author zhengjie --> |
| | | <!-- 自定义图标名称封装 --> |
| | | <template> |
| | | <div class="icon-body"> |
| | | <el-input v-model="name" style="position: relative;" clearable placeholder="请输入图标名称" @clear="filterIcons" @input.native="filterIcons"> |
| | | <el-input |
| | | v-model="name" |
| | | style="position: relative" |
| | | clearable |
| | | placeholder="请输入图标名称" |
| | | @clear="filterIcons" |
| | | @input.native="filterIcons" |
| | | > |
| | | <i slot="suffix" class="el-icon-search el-input__icon" /> |
| | | </el-input> |
| | | <div class="icon-list"> |
| | | <div v-for="(item, index) in iconList" :key="index" @click="selectedIcon(item)"> |
| | | <svg-icon :icon-class="item" style="height: 30px;width: 16px;" /> |
| | | <div |
| | | v-for="(item, index) in iconList" |
| | | :key="index" |
| | | @click="selectedIcon(item)" |
| | | > |
| | | <svg-icon :icon-class="item" style="height: 30px; width: 16px" /> |
| | | <span>{{ item }}</span> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import icons from './requireIcons' |
| | | import icons from "./requireIcons"; |
| | | export default { |
| | | name: 'IconSelect', |
| | | name: "IconSelect", |
| | | data() { |
| | | return { |
| | | name: '', |
| | | iconList: icons |
| | | } |
| | | name: "", |
| | | iconList: icons, |
| | | }; |
| | | }, |
| | | methods: { |
| | | filterIcons() { |
| | | this.iconList = icons |
| | | this.iconList = icons; |
| | | if (this.name) { |
| | | this.iconList = this.iconList.filter(item => item.includes(this.name)) |
| | | this.iconList = this.iconList.filter((item) => |
| | | item.includes(this.name) |
| | | ); |
| | | } |
| | | }, |
| | | selectedIcon(name) { |
| | | this.$emit('selected', name) |
| | | document.body.click() |
| | | this.$emit("selected", name); |
| | | document.body.click(); |
| | | }, |
| | | reset() { |
| | | this.name = '' |
| | | this.iconList = icons |
| | | } |
| | | } |
| | | } |
| | | this.name = ""; |
| | | this.iconList = icons; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style rel="stylesheet/scss" lang="scss" scoped> |