Skip to content

Icon 图标

图标

基本用法

<template>
    <dn-page>   
      <dn-form ref="formRef" v-bind="formOptions">
        <el-form-item label="点我试试">
            <dn-icon icon="search" @click="search_click"></dn-icon>
        </el-form-item>    
        <el-form-item label="">
            <dn-icon icon="message" color="red" @click="search_click"></dn-icon>
        </el-form-item>     
      </dn-form>     
    </dn-page>   
  </template>
  
  <script lang="jsx">
  import {ref,defineComponent} from "vue";
  import { useForm } from "@sdevnet/devnet-form";
  import {dn} from "@sdevnet/devnet-form";
  
  const formRef = ref();
  const formOptions = ref();
  function createFormOptions() {
    const { buildFormOptions } = useForm();
    return buildFormOptions({
      columns: {                 
      },
      form:{
        autoRender:false,
      
        labelWidth: "120px",
        'labelPosition':'left'
      }
    });
  }
  
  function initFormOptions() { 
    formOptions.value = createFormOptions();
    return {
      formOptions,   
      formRef     
    };
  }
  
  export default defineComponent({
    setup() {
      const search_click=()=>{
        dn.showMsg({ message:'试试就试试...'});
      }
      return {
        ...initFormOptions(),
        search_click
      };
    }
  });
  </script>

Icon API

PropsNameDescriptionTypeDefault
key参考el-icon 原生属性
class样式string
icon图标名称或组件string
object

Icon 组用法

<template>
    <dn-page>   
      <dn-form ref="formRef" v-bind="formOptions"></dn-form>     
    </dn-page>   
  </template>
  
  <script lang="jsx">
  import {ref,defineComponent} from "vue";
  import { useForm } from "@sdevnet/devnet-form";
  
  const formRef = ref();
  const formOptions = ref();
  function createFormOptions() {
    const { buildFormOptions } = useForm();
    return buildFormOptions({
      columns: {          
        fn1:{
            title:'图标',
            type:'buttonGroup',
            form:{
                col:{span:24},          
                component:{
                  class:'dn-button-group-left'
                } ,        
                props:{ 
                    slots:{
                        default:()=>{
                            var opt1={
                                icon:'IconAdd',
                                color:'red'
                            };   
                            var opt2={
                                icon:'edit'
                            }; 
                            var opt3={
                                icon:'delete',
                                color:'red'
                            };     
                            var opt4={
                                icon:'DocumentChecked',
                            };  
                            var opt5={
                                icon:'filter',
                            };   
                            var opt6={
                                icon:'search',
                            };    
                            var opt7={
                                icon:'refresh',
                            };    
                            var opt8={
                                icon:'upload',
                            };    
                            var opt9={
                                icon:'Download',
                            };   
                            var opt10={
                                icon:'View',
                            };       
                           return <div>
                                    <dn-icon {...opt1}></dn-icon>
                                    <dn-icon {...opt2}></dn-icon>
                                    <dn-icon {...opt3}></dn-icon>
                                    <dn-icon {...opt4}></dn-icon>
                                    <dn-icon {...opt5}></dn-icon>
                                    <dn-icon {...opt6}></dn-icon>
                                    <dn-icon {...opt7}></dn-icon>
                                    <dn-icon {...opt8}></dn-icon>
                                    <dn-icon {...opt9}></dn-icon>
                                    <dn-icon {...opt10}></dn-icon>
                                </div>
                        }
                    }                   
                }
            }
        },
        fn2:{
            title:'',
            type:'buttonGroup',
            form:{
                col:{span:24},          
                component:{
                  class:'dn-button-group-left'
                } ,        
                props:{ 
                    slots:{
                        default:()=>{
                            var opt1={
                                icon:'set-up',
                                color:'red'
                            };   
                            var opt2={
                                icon:'check'
                            }; 
                            var opt3={
                                icon:'sort',
                                color:'red'
                            };     
                            var opt4={
                                icon:'close',
                            };  
                            var opt5={
                                icon:'more',
                            };        
                            var opt6={
                                icon:'zoom-in',
                            };  
                            var opt7={
                                icon:'zoom-out',
                            };  
                            var opt8={
                                icon:'refresh-left',
                            };  
                            var opt9={
                                icon:'refresh-right',
                            };  
                            var opt10={
                                icon:'View',
                            };              
                           return <div>
                                    <dn-icon {...opt1}></dn-icon>
                                    <dn-icon {...opt2}></dn-icon>
                                    <dn-icon {...opt3}></dn-icon>
                                    <dn-icon {...opt4}></dn-icon>
                                    <dn-icon {...opt5}></dn-icon>
                                    <dn-icon {...opt6}></dn-icon>
                                    <dn-icon {...opt7}></dn-icon>
                                    <dn-icon {...opt8}></dn-icon>
                                    <dn-icon {...opt9}></dn-icon>
                                    <dn-icon {...opt10}></dn-icon>
                                </div>
                        }
                    }                   
                }
            }
        },
        fn3:{
            title:'',
            type:'buttonGroup',
            form:{
                col:{span:24},          
                component:{
                  class:'dn-button-group-left'
                } ,        
                props:{ 
                    slots:{
                        default:()=>{
                            var opt1={
                                icon:'back',
                                color:'red'
                            };   
                            var opt2={
                                icon:'right'
                            }; 
                            var opt13={
                                icon:'arrow-up'
                            };    
                            var opt3={
                                icon:'arrow-down',
                                color:'red'
                            };     
                            var opt4={
                                icon:'arrow-right',
                            };  
                            var opt5={
                                icon:'arrow-left',
                            };        
                            var opt6={
                                icon:'FullScreen',
                            };  
                            var opt7={
                                icon:'UnFullScreen',
                            };  
                            var opt12={
                                icon:'Minus'
                            }
                            var opt8={
                                icon:'question-filled',
                            };  
                            var opt9={
                                icon:'CaretTop',
                            };  
                            var opt10={
                                icon:'CaretBottom',
                            };   
                            var opt11={
                                icon:'warning'
                            }    
                                   
                           return <div>
                                    <dn-icon {...opt1}></dn-icon>
                                    <dn-icon {...opt2}></dn-icon>
                                    <dn-icon {...opt13}></dn-icon>
                                    <dn-icon {...opt3}></dn-icon>
                                    <dn-icon {...opt4}></dn-icon>
                                    <dn-icon {...opt5}></dn-icon>
                                    <dn-icon {...opt6}></dn-icon>
                                    <dn-icon {...opt7}></dn-icon>
                                    <dn-icon {...opt12}></dn-icon>
                                    <dn-icon {...opt8}></dn-icon>
                                    <dn-icon {...opt9}></dn-icon>
                                    <dn-icon {...opt10}></dn-icon>
                                    <dn-icon {...opt11}></dn-icon>
                                </div>
                        }
                    }                   
                }
            }
        },
        fn4:{
            title:'',
            type:'buttonGroup',
            form:{
                col:{span:24},          
                component:{
                  class:'dn-button-group-left'
                } ,        
                props:{ 
                    slots:{
                        default:()=>{
                            var opt1={
                                icon:'setting',
                                //style:'width:2em;height:2em;margin-right:10px;'
                                
                            };   
                            var opt2={
                                icon:'menu'
                            }; 
                            var opt3={
                                icon:'loading',
                                color:'red'
                            };     
                            var opt4={
                                icon:'user',
                            };  
                            var opt5={
                                icon:'tools',
                            };        
                            var opt6={
                                icon:'HomeFilled',
                            };  
                            var opt7={
                                icon:'UploadFilled',
                            };  
                            var opt8={
                                icon:'Histogram',
                            };  
                            var opt9={
                                icon:'Star',
                            };  
                            var opt10={
                                icon:'grid',
                            };   
                            var opt11={
                                icon:'Avatar'
                            }    
                            var opt12={
                                icon:'Document'
                            }                 
                           return <div>
                                    <dn-icon {...opt1}></dn-icon>
                                     <dn-icon {...opt2}></dn-icon>
                                    <dn-icon {...opt3}></dn-icon>
                                    <dn-icon {...opt4}></dn-icon>
                                    <dn-icon {...opt5}></dn-icon>
                                    <dn-icon {...opt6}></dn-icon>
                                    <dn-icon {...opt7}></dn-icon>
                                    <dn-icon {...opt8}></dn-icon>
                                    <dn-icon {...opt9}></dn-icon>
                                    <dn-icon {...opt10}></dn-icon>
                                    <dn-icon {...opt11}></dn-icon>
                                    <dn-icon {...opt12}></dn-icon>
                                </div>
                        }
                    }                   
                }
            }
        },
        fn5:{
            title:'右对齐',
            type:'buttonGroup',
            form:{
                col:{span:24},  
                props:{ 
                    slots:{
                        default:()=>{
                            var opt1={
                                icon:'list',
                                onClick:(e)=>{
                                    alert(e);
                                }
                            };   
                            var opt2={
                                icon:'message'
                            }; 
                            var opt3={
                                icon:'Crop',
                                color:'red'
                            };     
                            var opt4={
                                icon:'Picture',
                            };  
                            var opt5={
                                icon:'Iphone',
                            };        
                            var opt6={
                                icon:'Location',
                            };  
                            var opt7={
                                icon:'Printer',
                            };  
                            var opt8={
                                icon:'Calendar',
                            };  
                            var opt9={
                                icon:'MoreFilled',
                            };  
                            var opt10={
                                icon:'WarnTriangleFilled',
                            };   
                            var opt11={
                                icon:'Share'
                            }    
                            var opt12={
                                icon:'CircleCloseFilled'
                            }         
                           return <div>
                                    <dn-icon {...opt1}></dn-icon>
                                     <dn-icon {...opt2}></dn-icon>
                                    <dn-icon {...opt3}></dn-icon>
                                    <dn-icon {...opt4}></dn-icon>
                                    <dn-icon {...opt5}></dn-icon>
                                    <dn-icon {...opt6}></dn-icon>
                                    <dn-icon {...opt7}></dn-icon>
                                    <dn-icon {...opt8}></dn-icon>
                                    <dn-icon {...opt9}></dn-icon>
                                    <dn-icon {...opt10}></dn-icon>
                                    <dn-icon {...opt11}></dn-icon>
                                    <dn-icon {...opt12}></dn-icon>
                                </div>
                        }
                    }                   
                }
            }
        },
      },
    });
  }
  
  function initFormOptions() { 
    formOptions.value = createFormOptions();    
    return {
      formOptions,   
      formRef     
    };
  }
  
  export default defineComponent({
    setup() {
      return {
        ...initFormOptions()
      };
    }
  });
  </script>

IconGroup API

PropsNameDescriptionTypeDefault
key字段名称子组件column配置json
└ title标题string
└ typebuttonGroupstring
└ form表单栏位配置json
└└ colel-col配置,参考原生组件json
└└ component原生组件属性json
└└└ key参考原生el组件
└└ props组件属性json
└└└ slots槽位object
└└└└ default默认槽位,返回jsx组件func
└└└└└ icon返回icon组件object
└└└└└ onClick点击图标Clickfunc
└└ order排序number
└└ show是否显示boolean
└└ blank是否空占位boolean
└└ prefixRender组件左边render
└└ suffixRender组件右边render