element 订阅
Element是一份基于Ubuntu的发行,它面向家庭影院或媒体中心式的个人电脑,这类电脑可拥有十英尺大的用户屏幕并被设计为连接到高清晰度电视, 以获取一份数字媒体和因特网体验,而这种体验可以在客厅或娱乐场所舒适地获得。Element预加载有大量应用程序,它们使得用户能收听、收看和管理音 。 展开全文
Element是一份基于Ubuntu的发行,它面向家庭影院或媒体中心式的个人电脑,这类电脑可拥有十英尺大的用户屏幕并被设计为连接到高清晰度电视, 以获取一份数字媒体和因特网体验,而这种体验可以在客厅或娱乐场所舒适地获得。Element预加载有大量应用程序,它们使得用户能收听、收看和管理音 。
信息
类    型
个人电脑
特    点
十英尺大的用户屏幕
基    础
Ubuntu
外文名
elemeNt
elemeNt版本发布
2010年03月28日,Element 1.1 发布。 [1]  2010年05月17日,Element 1.2 发布。 [2]  2010年07月03日,Element 1.3 发。 [3]  2010年09月02日,Linux 发行版 Element 1.4 发布。 [4] 
收起全文
精华内容
下载资源
问答
  • element
    千次阅读
    2021-12-16 23:00:25


    ElementTree将整个XML文档表示为树,并 Element表示此树中的单个节点。与整个文档的交互(读取和写入文件)通常在ElementTree关卡上完成。与单个XML元素及其子元素的交互在该Element级别上完成。

    一、调用parse()方法,返回解析树

    try:
        import xml.etree.cElementTree as ET
    except ImportError:
        import xml.etree.ElementTree as ET
    
    tree = ET.parse('country.xml')
    # <xml.etree.ElementTree.ElementTree object at 0x00000230D5DDF1C0>
    root = tree.getroot()
    # <Element 'data' at 0x0000021AE8F79540>  type:<class 'xml.etree.ElementTree.Element'>
    

    二、调用from_string(),返回解析树的根元素

    import xml.etree.ElementTree as ET
    data = open("country.xml").read()
    root = ET.fromstring(data)   # <Element 'data' at 0x036168A0>
    

    三、调用ElementTree类ElementTree(self, element=None, file=None) # 这里的element作为根节点

    import xml.etree.ElementTree as ET
    tree = ET.ElementTree(file="country.xml")  # <xml.etree.ElementTree.ElementTree object at 0x03031390>
    root = tree.getroot()  # <Element 'data' at 0x030EA600>
    

    四、遍历

    import xml.etree.ElementTree as ET
    
    tree = ET.parse("country.xml")
    root = tree.getroot()
    
    # 遍历xml文档的第二层
    for child in root:
        # 第二层节点的标签名称和属性
        print(child.tag,":", child.attrib) 
        # 遍历xml文档的第三层
        for children in child:
            # 第三层节点的标签名称和属性
            print(children.tag, ":", children.attrib)
    

    Element对象方法

    类方法作用
    Element.getchildren()
    Element.getiterator(tag=None)
    Element.iter(tag=None)遍历该Element所有后代,也可以指定tag进行遍历寻找。
    Element.iterfind(path, namespaces=None)根据tag或path查找所有的后代。
    Element.itertext()遍历所有后代并返回text值。
    Element.findall(path)查找当前元素下tag或path能够匹配的直系节点。
    Element.findtext(path, default=None, namespaces=None)寻找第一个匹配子元素,返回其text值。匹配对象可以为tag或path。
    Element.find(path)查找当前元素下tag或path能够匹配的首个直系节点。
    Element.text获取当前元素的text值。
    Element.get(key, default=None)获取元素指定key对应的属性值,如果没有该属性,则返回default值。
    Element.keys()返回元素属性名称列表
    Element.items()返回(name,value)列表
    Element.getiterator(self, tag=None)

    注意:Element.findall()或者Element.find()方法,只会从结点的直接子结点中查找,并不会递归查找。

    示例:过滤出所有neighbor标签

    # 过滤出所有neighbor标签
    for neighbor in root.iter("neighbor"):
        print(neighbor.tag, ":", neighbor.attrib)
    

    示例:遍历所有的counry标签

    # 遍历所有的counry标签
    for country in root.findall("country"):
        # 查找country标签下的第一个rank标签
        rank = country.find("rank").text
        # 获取country标签的name属性
        name = country.get("name")
        print(name, rank)
    

    xml.etree.ElementTree.Element 属性相关

    类成员获取方法
    节点名(tag)(str)Element.tag
    属性(attributes)(dict)Element.attrib
    文本(text)(str)Element.text
    附加文本(tail) (str)Element.tail
    子节点列表(list)Element[:]

    ElementTree对象

    以下方法与Element类中同名方法近似,区别在于它们指定以根节点作为操作对象。

    类成员获取方法
    find(match)
    findall(match)
    findtext(match, default=None)
    getroot()获取根节点
    iter(tag=None)
    iterfind(match)
    parse(source, parser=None)装载xml对象,source可以为文件名或文件类型对象.
    write(file, encoding=“us-ascii”, xml_declaration=None, default_namespace=None,method=“xml”)

    五、模块方法

    函数方法Value
    xml.etree.ElementTree.canonicalize(xml_data=None, *, out=None, from_file=None, **options)
    xml.etree.ElementTree.Comment(text=None)创建一个特别的element,通过标准序列化使其代表了一个comment。comment可以为bytestring或unicode。
    xml.etree.ElementTree.dump(elem)生成一个element tree,通过sys.stdout输出,elem可以是元素树或单个元素。这个方法最好只用于debug。
    xml.etree.ElementTree.fromstring(text, parser=None)text是一个包含XML数据的字符串,与XML()方法类似,返回一个Element实例。
    xml.etree.ElementTree.fromstringlist(sequence, parser=None)从字符串的序列对象中解析xml文档。缺省parser为XMLParser,返回Element实例。
    xml.etree.ElementTree.indent(tree, space=’ ', level=0)
    xml.etree.ElementTree.iselement(element)检查是否是一个element对象。
    xml.etree.ElementTree.iterparse(source, events=None, parser=None)将文件或包含xml数据的文件对象递增解析为element tree,并且报告进度。events是一个汇报列表,如果忽略,将只有end事件会汇报出来。
    xml.etree.ElementTree.parse(source, parser=None)将一个文件或者字符串解析为element tree。
    xml.etree.ElementTree.ProcessingInstruction(target, text=None)这个方法会创建一个特别的element,该element被序列化为一个xml处理命令。
    xml.etree.ElementTree.register_namespace(prefix, uri)注册命名空间前缀。这个注册是全局有效,任何已经给出的前缀或者命名空间uri的映射关系会被删除。
    xml.etree.ElementTree.SubElement(parent, tag, attrib={}, **extra)子元素工厂,创建一个Element实例并追加到已知的节点。
    xml.etree.ElementTree.tostring(element, encoding=‘us-ascii’, method=‘xml’, *, xml_declaration=None, default_namespace=None, short_empty_elements=True)生成一个字符串来表示表示xml的element,包括所有子元素。element是Element实例,method为"xml",“html”,“text”。返回包含了xml数据的字符串。
    xml.etree.ElementTree.tostringlist(element, encoding=‘us-ascii’, method=‘xml’, *, xml_declaration=None, default_namespace=None, short_empty_elements=True)生成一个字符串来表示表示xml的element,包括所有子元素。element是Element实例,method为"xml",“html”,“text”。返回包含了xml数据的字符串列表。
    xml.etree.ElementTree.XML(text, parser=None)从一个字符串常量中解析出xml片段。返回Element实例。
    xml.etree.ElementTree.XMLID(text, parser=None)从字符串常量解析出xml片段,同时返回一个字典,用以映射element的id到其自身。

    在ET上使用xpath

    try:
        import xml.etree.cElementTree as ET
    except ImportError:
        import xml.etree.ElementTree as ET
    
    
    if __name__ == "__main__":
        tree = ET.parse('country.xml')
        root = tree.getroot()  # 获取根
        # print(root, type(root))
        xml_str = ET.tostring(root)
        root = ET.fromstring(xml_str)
    
        # Top-level elements(当前节点就是根节点)
        root.findall(".")
    
        # All 'neighbor' grand-children of 'country' children of the top-level
        # elements
        root.findall("./country/neighbor")
    
        # Nodes with name='Singapore' that have a 'year' child
        root.findall(".//year/..[@name='Singapore']")
    
        # 'year' nodes that are children of nodes with name='Singapore'
        root.findall(".//*[@name='Singapore']/year")
    
        # All 'neighbor' nodes that are the second child of their parent
        root.findall(".//neighbor[2]")
    
    
    更多相关内容
  • Element-ui和Element-Plus的区别_Element2和Element3的区别 一、定义区别 Element-UI对应Element2:基本不支持手机版 Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 Element-Plus...

    Element-ui和Element-Plus的区别_Element2和Element3的区别

    一、定义区别

    Element-UI对应Element2:基本不支持手机版

    Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库

    Element-Plus对应Element3:组件布局考虑了手机版展示

    基于 Vue 3,面向设计师和开发者的组件库

    二、框架区别

    Element-ui适用于Vue2框架

    Element-plus适用于Vue3框架

    三、开发中使用的区别

    1. Icon图标库变化了

    新版本的图标库使用方式

    <template>
      <div>
        <el-icon :size="size" :color="color">
          <edit></edit>
        </el-icon>
        <!-- Or use it independently without derive attributes from parent -->
        <edit></edit>
    <el-icon><copy-document /></el-icon>
      </div>
    </template>

    2.组件的插槽slot使用变化了

    同时可支持多个插槽

     

    <el-autocomplete popper-class="my-autocomplete" v-model="state" :fetch-suggestions="querySearch" placeholder="请输入内容" @select="handleSelect" >
     <template #suffix>
     <i class="el-icon-edit el-input__icon" @click="handleIconClick"> </i> 
     </template>
     <template #default="{ item }">
     <div class="name">{{ item.value }}</div>
     <span class="addr">{{ item.address }}</span>
     </template>
     </el-autocomplete>

    3.新增组件

    • Skeleton-骨架屏
    • Empty-空状态
    • Affix -固钉
    • TimeSelect 时间选择
    • Space 间距

    4.其他待整理,待完善

    更多:

    Vue2和Vue3的区别_Vue3和Vue2的区别

    Vue3+Element Plus开发搭建_Vue3+Element3开发搭建

    升级Vue3.0_CLI 方式升级Vue3.0

    济南网站开发

    济南小程序开发

    展开全文
  • Element 我们知道最终的UI树其实是由一个个独立的Element节点构成。组件最终的Layout、渲染都是通过RenderObject来完成的,从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到...

    Element


    我们知道最终的UI树其实是由一个个独立的Element节点构成。组件最终的Layout、渲染都是通过RenderObject来完成的,从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element.renderObject属性上,最后再通过RenderObject来完成布局排列和绘制。

    Element就是Widget在UI树具体位置的一个实例化对象,大多数Element只有唯一的renderObject,但还有一些Element会有多个子节点,如继承自RenderObjectElement的一些类,比如MultiChildRenderObjectElement。最终所有Element的RenderObject构成一棵树,我们称之为”Render Tree“即”渲染树“。总结一下,我们可以认为Flutter的UI系统包含三棵树:Widget树、Element树、渲染树。他们的依赖关系是:Element树根据Widget树生成,而渲染树又依赖于Element树,如图所示。

    现在我们重点看一下Element,Element的生命周期如下:

    1. Framework 调用Widget.createElement 创建一个Element实例,记为element
    2. Framework 调用 element.mount(parentElement,newSlot) ,mount方法中首先调用element所对应Widget的createRenderObject方法创建与element相关联的RenderObject对象,然后调用element.attachRenderObject方法将element.renderObject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在Element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。
    3. 当有父Widget的配置数据改变时,同时其State.build返回的Widget结构与之前不同,此时就需要重新构建对应的Element树。为了进行Element复用,在Element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应Widget的canUpdate方法,如果返回true,则复用旧Element,旧的Element会使用新Widget配置数据更新,反之则会创建一个新的Element。Widget.canUpdate主要是判断newWidgetoldWidgetruntimeTypekey是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来避免复用。
    4. 当有祖先Element决定要移除element 时(如Widget树结构发生了变化,导致element对应的Widget被移除),这时该祖先Element就会调用deactivateChild 方法来移除它,移除后element.renderObject也会被从渲染树中移除,然后Framework会调用element.deactivate 方法,这时element状态变为“inactive”状态。
    5. “inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成“active”状态,Framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。
    6. 如果element要重新插入到Element树的其它位置,如elementelement的祖先拥有一个GlobalKey(用于全局复用元素),那么Framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderObject重新attach到渲染树。

    看完Element的生命周期,可能有些读者会有疑问,开发者会直接操作Element树吗?其实对于开发者来说,大多数情况下只需要关注Widget树就行,Flutter框架已经将对Widget树的操作映射到了Element树上,这可以极大的降低复杂度,提高开发效率。但是了解Element对理解整个Flutter UI框架是至关重要的,Flutter正是通过Element这个纽带将Widget和RenderObject关联起来,了解Element层不仅会帮助读者对Flutter UI框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用Element对象来完成一些操作,比如获取主题Theme数据,具体细节将在下文介绍。

    BuildContext 


    我们已经知道,StatelessWidgetStatefulWidgetbuild方法都会传一个BuildContext对象:

    Widget build(BuildContext context) {}

    我们也知道,在很多时候我们都需要使用这个context 做一些事,比如:

    Theme.of(context) //获取主题
    Navigator.push(context, route) //入栈新路由
    Localizations.of(context, type) //获取Local
    context.size //获取上下文大小
    context.findRenderObject() //查找当前或最近的一个祖先RenderObject
    

     那么BuildContext到底是什么呢,查看其定义,发现其是一个抽象接口类:

    abstract class BuildContext {
        ...
    }
    

    那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在StatelessWidgetStatefulWidget对应的StatelessElementStatefulElementbuild方法中,以StatelessElement为例:

    
    class StatelessElement extends ComponentElement {
      ...
      @override
      Widget build() => widget.build(this);
      ...
    }
    

     发现build传递的参数是this,很明显!这个BuildContext就是StatelessElement。同样,我们同样发现StatefulWidgetcontextStatefulElement。但StatelessElementStatefulElement本身并没有实现BuildContext接口,继续跟踪代码,发现它们间接继承自Element类,然后查看Element类定义,发现Element类果然实现了BuildContext接口:

    class Element extends DiagnosticableTree implements BuildContext {
        ...
    }
    

    至此真相大白,BuildContext就是widget对应的Element,所以我们可以通过contextStatelessWidgetStatefulWidgetbuild方法中直接访问Element对象。我们获取主题数据的代码Theme.of(context)内部正是调用了Element的dependOnInheritedWidgetOfExactType()方法。

    进阶

    我们可以看到Element是Flutter UI框架内部连接widget和RenderObject的纽带,大多数时候开发者只需要关注widget层即可,但是widget层有时候并不能完全屏蔽Element细节,所以Framework在StatelessWidgetStatefulWidget中通过build方法参数又将Element对象也传递给了开发者,这样一来,开发者便可以在需要时直接操作Element对象。那么现在笔者提一个问题: 

    1. 如果没有widget层,单靠Element层是否可以搭建起一个可用的UI框架?如果可以应该是什么样子?
    2. Flutter UI框架能不做成响应式吗?

    对于问题1,答案当然是肯定的,因为我们之前说过widget树只是Element树的映射,我们完全可以直接通过Element来搭建一个UI框架。下面举一个例子:

    我们通过纯粹的Element来模拟一个StatefulWidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个9位数,点击一次按钮,则对9个数随机排一次序,代码如下:

    class HomeView extends ComponentElement{
      HomeView(Widget widget) : super(widget);
      String text = "123456789";
    
      @override
      Widget build() {
        Color primary=Theme.of(this).primaryColor; //1
        return GestureDetector(
          child: Center(
            child: TextButton(
              child: Text(text, style: TextStyle(color: primary),),
              onPressed: () {
                var t = text.split("")..shuffle();
                text = t.join();
                markNeedsBuild(); //点击后将该Element标记为dirty,Element将会rebuild
              },
            ),
          ),
        );
      }
    }
    
    • 上面build方法不接收参数,这一点和在StatelessWidgetStatefulWidgetbuild(BuildContext)方法不同。代码中需要用到BuildContext的地方直接用this代替即可,如代码注释1处Theme.of(this)参数直接传this即可,因为当前对象本身就是Element实例。

    • text发生改变时,我们调用markNeedsBuild()方法将当前Element标记为dirty即可,标记为dirty的Element会在下一帧中重建。实际上,State.setState()在内部也是调用的markNeedsBuild()方法。

    • 上面代码中build方法返回的仍然是一个widget,这是由于Flutter框架中已经有了widget这一层,并且组件库都已经是以widget的形式提供了,如果在Flutter框架中所有组件都像示例的HomeView一样以Element形式提供,那么就可以用纯Element来构建UI了HomeView的build方法返回值类型就可以是Element了。

    如果我们需要将上面代码在现有Flutter框架中跑起来,那么还是得提供一个“适配器”widget将HomeView结合到现有框架中,下面CustomHome就相当于“适配器”:

    class HomeCustomPage extends StatelessWidget {
      const HomeCustomPage({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(appBar: getAppBar("自定义UI"),body: CustomHome(),);
      }
    }
    
    class CustomHome extends Widget{
      @override
      Element createElement() {
        return HomeView(this);
      }
    
    }

     

    点击按钮则按钮文本会随机排序。

    对于问题2,答案当然也是肯定的,Flutter 引擎提供的 API是原始且独立的,这个与操作系统提供的API类似,上层UI框架设计成什么样完全取决于设计者,完全可以将UI框架设计成 Android 风格或 iOS 风格,但这些事Google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的理解程度。

    RenderObject


    每个Element都对应一个RenderObject,我们可以通过Element.renderObject 来获取。并且我们也说过RenderObject的主要职责是Layout和绘制,所有的RenderObject会组成一棵渲染树Render Tree。本节我们将重点介绍一下RenderObject的作用。

    RenderObject就是渲染树中的一个对象,它主要的作用是实现事件响应以及渲染管线中除过 build 的部分(build 部分由 element 实现),即包括:布局、绘制、层合成以及上屏,这些我们将在后面章节介绍。

    RenderObject拥有一个parent和一个parentData 插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentData正是一个预留变量,它正是由parent 来赋值的,parent通常会通过子RenderObjectparentData存储一些和子元素相关的数据,如在Stack布局中,RenderStack就会将子元素的偏移数据存储在子元素的parentData中(具体可以查看Positioned实现)。

    RenderObject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。 它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。

    为此,Flutter框架提供了一个RenderBox和一个 RenderSliver类,它们都是继承自RenderObject,布局坐标系统采用笛卡尔坐标系,这和Android和iOS原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下。而 Flutter 基于这两个类分别实现了基于 RenderBox 的盒模型布局和基于 Sliver 的按需加载模型。

    #

    展开全文
  • Element UI 框架

    千次阅读 2021-02-27 12:07:01
    实验3、Element UI框架一、简介1、内容:Element UI简介、全局引入、按需引入、实战。二、具体1、Element UI简介Element UI是一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端元组件库,由饿了么前端团队...

    实验3、Element UI框架

    一、简介

    1、内容:Element UI简介、全局引入、按需引入、实战。

    二、具体

    1、Element UI简介

    Element UI是一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端元组件库,由饿了么前端团队推出。它并不依赖于Vue,却是一个十分适合Vue项目的框架。可使用Element UI轻松制作出网页,为前端开发人员大大减轻了代码负担。本次项目也是基于Element UI框架实现的。

    2、Element UI按需引入(本次不用)

    根据自身需求对Element里面组件进行单独引入。利弊如下:

    优点:单独引入,抛弃未使用组件,从而对项目体积造成影响不大。

    缺点:手动按需引入,需要进行更多代码工作,增大了开发人员的负担,同时繁多的组件样式,会导致代码繁杂紊乱,不利于美观。

    a)安装babel-plugin-component插件,可帮助实现按需引入:npm install babel-plugin-component -D

    b)找到babel.config.js,并修改为:

    module.exports = {

    presets: [

    '@vue/app',

    ['@babel/preset-env', {'modules': false}]

    ],

    plugins: [

    [

    'component',

    {

    'libraryName': 'element-ui',

    'styleLibraryName': 'theme-chalk'

    }

    ]

    ]

    }

    c)组件引入 & 加载

    // 在 main.js 中 import App from './App.vue' 下方添加以下代码

    // 引入所需样式组件

    import { Button, Select,Option } from 'element-ui';

    // 执行引入的样式组件

    Vue.component(Button.name, Button);

    Vue.component(Select.name, Select);

    Vue.component(Option.name, Option);

    /* 或写为

    * Vue.use(Button)

    * Vue.use(Select)

    * Vue.use(Option)

    */

    d)main.js传入对象进行全局配置

    // main.js

    Vue.prototype.$ELEMENT = { size: 'small', zIndex: 3000 };

    size:改变组件默认尺寸,默认为"small"

    zindex:设置弹框初始z-index(默认为2000)

    3、Element UI全局引入

    Element UI提供了插件,实验一已完成安装(npm install element-ui --save)。但还需要引入,引入方式有两种:按需和全局。

    全局引入--将整个Element UI里面组件统统引入到项目中,利弊为:

    优点:使用方便,一次引入后就可以直接使用所有样式;

    缺点:因为整体引入所有样式,所以导致项目体积增大。

    适合:大量使用Element UI框架的项目。

    引入方式:

    // 将 main.js 修改为:

    import Vue from 'vue'

    import App from './App.vue'

    import router from './router';

    // 引入 Element UI

    import ElementUI from 'element-ui';

    // 单独引入样式文件

    import 'element-ui/lib/theme-chalk/index.css';

    // 执行 ElementUI

    // Vue.use(ElementUI); -->传入配置对象,可改为

    Vue.use(ElementUI, { size: 'small', zIndex: 3000 });

    Vue.config.productionTip = false;

    new Vue({

    router,

    render: h => h(App)

    }).$mount('#app');

    注意:样式文件要单独引入。

    4、Element UI实战:创建一静态页面

    1)component/page/EleDemo.vue

    导航

    分组一

    选项 1

    选项 2

    分组二

    选项 3

    选项 4

    选项 5

    选项 5-1

    查看

    新增

    删除

    AsunaCC

    .el-header {

    background-color: #B3C0D1;

    color: #333;

    line-height: 60px;

    }

    .el-aside {

    color: #333;

    }

    export default {

    data() {

    const item = {

    date: '2019-09-17',

    name: 'shiyanlou',

    address: '四川省成都市'

    };

    return {

    tableData: Array(10).fill(item)

    }

    }

    };

    2)修改router/index.js

    import Vue from 'vue'

    import VueRouter from 'vue-router'

    Vue.use(VueRouter);

    export default new VueRouter ({

    routes: [

    {

    path: '/home',

    component: () => import('../components/common/Home.vue'),

    children: [

    {

    path: 'child1',

    component: () => import('../components/page/Children1.vue'),

    },

    {

    path: 'child2',

    component: () => import('../components/page/Children2.vue'),

    },

    {

    path: 'child3',

    component: () => import('../components/page/Children3.vue'),

    }

    ]

    },

    {

    path: '/demo',

    component: () => import('../components/page/EleDemo.vue'),

    }

    ]

    })

    3)浏览器打开:****/#/demo

    208dbb701d1defe8fad6d0226a33d31c.png

    三、小结

    本节主要学习了Element UI框架介绍、引入(按需+全局)、实战。理解不难,重要的是如何准确有效地创建实际页面。

    展开全文
  • Element】卸载Element

    千次阅读 2021-11-14 01:36:46
    卸载Element npm uninstall element-ui
  • element-plus使用中文

    千次阅读 2022-07-06 14:06:55
    element-plus默认是英文,要显示中文需要安装中文包 Element Plus 还提供了一个 Vue 组件 ConfigProvider 用于全局配置国际化的设置。 如果通过 CDN 使用 Element Plus ,那么你需要添加以下代码,以下是一个 unpkg ...
  • 一、 Message: no such element: Unable to locate element:selenium报错        最近在使用selenium爬虫时遇到了这个报错,反复检查了自己xpath路径确认没有问题。但是程序还是...
  • npm install element-plus --save 以上方法是有问题的,如果不幸执行了上面的命令,那么先执行卸载 npm uninstall element-plus 删除 main.js文件对element ui的引用,输入以下命令 vue add element-plus .....
  • vue3.0中使用element

    万次阅读 多人点赞 2021-03-01 13:59:59
    在vue3.0中使用element框架,因为element是支持vue2.0的,他推出的支持vue3.0的版本叫element-plus 目录: 官网入口:点我进入 一、个人遇到的问题与解决办法: 遇到的问题: 我直接用cnpm ielement-plus-S ...
  • Element 基本使用

    千次阅读 2022-01-01 19:37:48
    .1、Element介绍 Element:网站快速成型工具。是饿了么公司前端开发团队提供的一套基于Vue的网站组件库。 使用Element前提必须要有Vue。 组件:组成网页的部件,例如超链接、按钮、图片、表格等等~ ...
  • vue-element-admin项目打包后,生产环境再chrome浏览器下偶尔存在element-ui中的icon乱码 在将vue-element-admin或者vue-element-template打包发布到生产环境后,在chrome浏览器中刷新时,偶尔存在element-ui的icon...
  • 【Flutter核心类分析】深入理解Element

    千次阅读 2021-11-18 11:54:06
    文章目录背景Element分类核心源码分析Element.updateChildElement.inflateWidgetElement.upateStatelessElement.updateStatefulElement.updateProxyElement.updateRenderObjectElement....
  • Element UI极简教程(1):Element UI的安装

    千次阅读 2021-12-11 00:55:22
    Java大联盟 致力于最高效的Java学习关注B 站搜索:楠哥教你学Java获取更多优质视频教程Element UI简介Element UI 是一套基于 Vue 的桌面端组件库,封...
  • 一、Vue3+Element Plus开发搭建_Vue3+Element3开发搭建 Element Plus也就是Element3的UI框架,距离正式发布还有2天。 当前测试安装的还是Beta版本 最新搭建步骤如下: 1.创建Vue3 项目 创建参考:升级Vue3.0_...
  • element-ui和element-plus离线文档

    千次阅读 2022-03-23 08:53:44
    由于公司网络登element-ui官方文档很慢,想把他载下来离线文档本地跑,element-plus离线文档在网上的资料比较少,记录一下,希望能帮助其他需要的人。 1.element-ui离线文档。在GitHub - ElemeFE/element: A Vue.js...
  • Element-UI - Vue项目整合Element-UI & Icon图标 & 自定义Icon图标 博主很久之前就想使用Element-UI,总是因为学习后端的技术鸽了很久(博主目前是偏后端),这里博主通过Vue来整合Element-UI(不是Vue项目...
  • element-plus

    千次阅读 2022-03-16 11:28:34
    element-plus
  • Vue 安装 Element Plus

    千次阅读 2022-05-05 10:30:12
    Vue CLI 3 下使用 Element Plus ,解决 icon 图标不显示的问题,亲测有效!!!
  • 1.在项目中安装element-plus # NPM $ npm install element-plus --save # Yarn $ yarn add element-plus # pnpm $ pnpm install element-plus 2.按需导入需要再继续安装两个插件 npm install -D unplugin-vue-...
  • 新手爬虫出现报错“ no such element: Unable to locate element” 简介 来自一个自学爬虫的Python小白的经历:通过网络上的教学视频,模仿编程。由于视频资源比较老旧,技术更新较快,所以有些方面难以做到用视频...
  • 使用 element-plus 时发现了一个问题:icon 需要单独安装和引入,让我很是难受,官网是这么说的(大概意思如下): $ yarn add @element-plus/icons # 或者 $ npm install @element-plus/icons import { ...
  • VSCode-Element-Helper is a VS Code extension for Element-UI. If you use ATOM editor, please go to ATOM versionElement-UI is a great library. More and more projects use it. So, For helping developer wr...
  • Vue实战笔记(二) 引入Element Plus

    千次阅读 2021-04-17 00:37:55
    Element Plus 是为适配 Vue3 而对 Element UI 进行重构后产生的前端组件库,包含丰富的基础组件 下面先贴出官方文档,里面的介绍已经十分全面和详细,大家遇到的很多问题都可以在上面找到答案
  • vue引入Element-ui

    千次阅读 2022-03-22 10:55:39
    vue引入Element-ui之全局引入
  • Element-ui和vue-element-admin学习

    千次阅读 2020-05-27 00:23:05
    Element-ui 什么是Element-ui? 根据官网的说法,Element-ui,是一套为开发者、设计师和产品经理准备的基于Vue 2.0的由饿了么公司出品的桌面端组件库。 官网:https://element.eleme.cn/#/zh-CN 如何使用? 1、...
  • ele = driver.findElement(a) ele2= ele.findElement(b) b不在a内,但在页面其他地方,发现ele2能找到b。 不符合预期?
  • Element UI 改变主题色

    千次阅读 2022-03-17 12:31:02
    引入 之后,在项目的入口文件(main.js或者mian.ts)中,直接引入以上样式文件即可(无需引入 Element 编译好的 CSS 文件): import Vue from 'vue' import Element from 'element-ui' import './element-...
  • SeleniumWebDriver之FindElement和FindElements

    千次阅读 2019-09-08 23:09:17
    为什么需要Find Element/s命令? 与Web页面的交互需要用户定位Web元素。FindElement命令用于唯一地标识页面中的(单个)Web元素。然而,FindElements命令用于唯一地标识页面中的Web元素列表。 有多种方法可以标识页面中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,446,649
精华内容 578,659
关键字:

element