当前位置: 首页 > news >正文

做网站机构图用什么工具seo渠道

做网站机构图用什么工具,seo渠道,做婚恋网站的思路,免费ppt模板年终总结elment-ui table组件 -- 远程筛选排序 基于 elment-ui table组件 开发,主要请求后台实现筛选 排序的功能。 需求 排序 筛选 是对后台整个数据进行操作,而不是对当前页面的数据进行操作若是其关联的下一级页面,(eg:点击…

elment-ui table组件 -- 远程筛选排序

基于 elment-ui table组件 开发,主要请求后台实现筛选 排序的功能。

需求

  • 排序 筛选 是对后台整个数据进行操作,而不是对当前页面的数据进行操作
  • 若是其关联的下一级页面,(eg:点击查看编辑时,再返回当前页面时,保留之前筛选,或排序条件),否则清空

先上一份源码, 直接使用官网的(修改了一小部分参数,可以忽略)

<el-table:data="tableData"style="width: 100%"
><el-table-columnprop="date"label="日期"sortable="custom"min-width="180":filters="dateList"></el-table-column><el-table-columnsortable="custom"prop="name"label="姓名"min-width="180"></el-table-column><el-table-columnprop="address"label="地址"min-width="200"></el-table-column><el-table-columnprop="tag"label="标签"min-width="100":filters="flagList"><template slot-scope="scope"><el-tag:type="scope.row.tag === '家' ? 'primary' : 'success'"disable-transitions>{{scope.row.tag}}</el-tag></template></el-table-column>
</el-table>

知识点

  • 筛选
    • 表头 (el-table
      • filter-change
      <el-table:data="tableData"style="width: 100%"@filter-change="handleFilter"
      >
    • 表格(el-table-column
      • 针对需要排序的列添加 :filters="Array[Object]" ,此处注意 Object 的格式必须为 {text: **, value: **} 键必须如此,暂时没有找到可以修改的api

        <el-table-columnprop="date"label="日期"sortable="custom"min-width="180":filters="dateList"
        >
        </el-table-column>
    • 设置默认值
      • filtered-value (作用在 el-table-column
      <el-table-columnprop="tag"label="标签"min-width="100":filters="flagList":filtered-value="['公司']"
      >
      显示效果如下

1363709-20190222202239798-1906353403.png

  • 排序
    • 表头 (el-table)
      • sort-change
      <el-table:data="tableData"style="width: 100%"@filter-change="handleFilter"@sort-change="handleSort"
      >
  • tbody (el-table-column)
    • sortable 设置为 :sortable="'custom'"
    <el-table-columnprop="date"label="日期":sortable="'custom'"min-width="180":filters="dateList"
    >
  • 设置默认值
    • default-sort 参数 { order: **, prop: **}, `prop指那一列,order 指升序还是倒序

显示效果如下

1363709-20190222202232588-643994312.png

至此,初步需求完成,现在就是具体细化了

细化

  • 将未知的值都存入 vuex 中,便于全局控制
    • default-sort, filtered-value, filters

    default-sort, filtered-value 不能写死,因为是动态的请求参数,因而得注意了

    // component
    computed: mapState('elTable', ['flagList','dateList','filters','sort'
    ])
    // vuex
    filters: [],
    sort: {order: '',prop: ''
    }
  • 方法,进行调用修改
    • 筛选过程中,无法很好定位到具体哪一列, 给当前列添加 column-key
    // vuex
    filtersDate: [],
    filtersTag: [],
    sort: {order: '',prop: ''
    }
    },
    mutations: {setFilters_date (state, data = []) {state.filtersDate = data},setFilters_tag (state, data = []) {state.filtersTag = data},setSort (state, data = {}) {state.sort = data}
    }
    // component
    methods: {...mapMutations('elTable', ['setFilters_date','setSort','setFilters_tag']),handleFilter (filter) {// 拿到 key/*** 命名技巧罢了,只是关联*/const key = Object.keys(filter)[0]this['setFilters_' + key](filter[key])},handleSort (column, prop, order) {console.log(column, prop, order)}
    },
    computed: mapState('elTable', ['flagList','dateList','filtersDate','filtersFlag','sort'
    ])
    上面主要是如何将几者之间进行关联罢了

1363709-20190222202250802-706996587.png

清除

即要清除当前页面的数据,同时还要清除 vuex 里存的数据

  • clearFilter, clearSort
// vuex
clear (state) {state.filtersDate = []state.filtersTag = []state.sort = {order: '',prop: ''}
}
// component
clearAll () {this.$refs.tb.clearFilter()this.$refs.tb.clearSort()this.clear()
}

1363709-20190222202257769-1388768117.gif

  • 是否是关联的页面
    created () { // 此处做判断,是否是其关联的页面,不是清除,是就不清除 if (!isPage) return this.clearAll() }

总结

  • 可能还有些不完善,但是已经可以实现上述需求了
  • 有个问题, 筛选时,不点击筛选或重置,是无法在vuex中缓存,其实也很合理,vuex里存请求的数据,没点击也就没必要存储了

2019-03-18补充

由于设置 filtered-value时,有默认值,便会导致有时使用 clearFilter 方法时无法清除该值,看了下源码,感觉需要将筛选组件激活下才能使用,而一进页面是没有的,特别页面间跳转,再回来清除,基本没指望了。

  • 思路
    想了许久,既然方法不够用,那就让该组件重置即可,要不就刷新
    • 刷新 window.location.reload() 但是体验实在是不敢恭维,毕竟也面刷新,走的接口多,其次视觉效果也不是很好
    • 组件重置,这个才是我现在研究的对象
      • vue自带组件重置功能 $forceUpdate ,使用了却没有效果,因为不对子组件进行操作,所以排除
      • 人为重置,v-if 可以让组件重新渲染,在点击清除时v-if=flase 再给个几秒延迟设置v-if=true 便可以实现

        此处需要注意,使用$nextTick时,时间依旧不够,若是涉及到数据请求,放在数据请求回来时设置 v-if=true会更好

虽然这些方法还不是最好的,但是还需要一步步继续前行了

转载于:https://www.cnblogs.com/sinosaurus/p/10420509.html

http://www.lbrq.cn/news/2542915.html

相关文章:

  • 北京网站建设著名公司百度推广登陆网址
  • 新沂网页设计洛阳seo博客
  • 邮政编码html编写北京seo编辑
  • 南京酒店网站制作做网络推广为什么会被抓
  • 建设安全网站的目的关键词热度查询
  • 程序员源码网站百度推广客户端电脑版
  • 赣州新闻头条六年级下册数学优化设计答案
  • wordpress插件 网站跳转百度非企渠道开户
  • 中山比好的做网站的公司宽带业务如何推广
  • 武汉建设网站官网营销软文写作
  • 深圳建筑工地招聘信息seo查询软件
  • 如何做的网站手机可以用吗开发客户的70个渠道
  • 网站标题栏网站制作哪家公司好
  • 网站内页要不要加上关键词和描述亚马逊查关键词搜索量的工具
  • c 网站设计页面优化
  • 以百度云做网站空间百度推广代理公司
  • 做色情网站牟利200万判刑免费发布推广信息的软件
  • 大理如何做百度的网站百度点击软件名风
  • 微信网站建设协议seo公司厦门
  • 询价网站哪个好电子商务专业就业方向
  • 青海省公路工程建设信息网站网站搭建模板
  • 网站建设之织梦后台熊掌号主页新网站seo外包
  • 河南旅游网站建设企业网站的类型
  • fomo3d 网站怎么做深圳网络推广营销公司
  • 绍兴的网站建设公司品牌推广的目的和意义
  • 华为认证培训机构排行榜seo联盟
  • 苏州城乡和住房建设局网站首页百度云网盘网页版
  • 黄冈网站免费投放平台免费下载合肥做网站推广
  • 网站正在建设中......小程序seo推广技巧
  • 重点专业建设网站 建设方案长沙网站制作推广
  • 从零打造大语言模型--处理文本数据
  • 神经网络学习笔记
  • 【数据结构入门】顺序表
  • 【前端】CSS Flexbox布局示例介绍
  • 商旅平台怎么选?如何规避商旅流程中的违规风险?
  • 正向运动学(Forward Kinematics,简称FK)和逆向运动学(Inverse Kinematics,简称IK)