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

最好在线网站建设网站分页需要前端做还是后端

最好在线网站建设,网站分页需要前端做还是后端,北京最大网站建设公司排名,山东东营市有几个区县最近使用Vue3ElementPlus开发项目#xff0c;从整体上构思组件的封装。能写成组件的内容都进行封装#xff0c;方便多个地方使用。 受AntDesign的启发#xff0c;在项目中有搜索表单table分页的地方可以封装为一个组件#xff0c;只需要对组件传入table的列#xff0c;组成…最近使用Vue3ElementPlus开发项目从整体上构思组件的封装。能写成组件的内容都进行封装方便多个地方使用。 受AntDesign的启发在项目中有搜索表单table分页的地方可以封装为一个组件只需要对组件传入table的列组成一个配置项通过配置可以显示搜索表单、table项的内容展示等等。 那么在使用ElemenPlus开发时是没有这样的组件可以使用的。又一想项目中好多个地方都有搜索表单Table的形式那不如直接封装个搜索表单这样就省去了一遍一遍的表单的重复编写。封装好的组件只需要传入进入配置内容即可实现搜索的效果。 实现思路 搜索表单无非就是文本框、选择框、时间选择、时间范围选择、数字框通过配置项里传入type即可判断展示哪种类型的form-item。数值绑定v-model与传入项的匹配在配置项中传入prop然后在子组件中创建form响应式对象。数据初始值、选项列表等等都通过配置项传入。搜索表单的搜索与重置按钮提交emit事件即可。 首先创建SearchForm.vue组件 该组件实现了输入框、选择框、单日期、双日期一般搜索表单也就这些如果还有其他的类型读者可以自己添加。 script setupimport { reactive, onMounted } from vueimport DateRangePicker from /components/DateRangePicker/index.vueconst props defineProps({itemList: Array})const emit defineEmits([search, reset])let form reactive({})onMounted(() {props.itemList.map(item {if(item.type dateRange) {form[item.start] form[item.end] }else {form[item.prop] item.initValue ? item.initValue : }})}) /scripttemplateel-form :modelform inline label-width120pxtemplate v-for(item, index) in props.itemList :keyindexel-form-item:labelitem.label:propitem.propel-select v-ifitem.type select v-modelform[item.prop] placeholder请选择 clearableel-option v-fori in item.list :keyi.value :labeli.label :valuei.value//el-selectel-date-picker v-ifitem.type date :typeitem.dateType v-modelform[item.prop] placeholder请选择 clearable/date-range-pickerv-ifitem.type dateRangev-model:startform[item.start]v-model:endform[item.end]/el-input-number v-ifitem.type number v-modelform[item.prop] placeholder请输入 clearable/el-input v-ifitem.type input v-modelform[item.prop] placeholder请输入 clearable//el-form-item/templateel-form-itemel-button clickemit(search, form) typeprimary iconSearch查询/el-buttonel-button clickemit(reset) typeprimary plain iconRefresh重置/el-button/el-form-item/el-form /template其次DateRangePicker组件 这个组件是用来实现选择范围日期的因为范围日期返回的是一个数组如果不进行封装处理一下的话在项目中每写一个该组件都会要写change事件来处理数据值还挺麻烦。封装之后只需要将对应的model传给该组件即可实现双向绑定。 script setup import { ref } from vue; const emit defineEmits([update:start, update:end]) const props defineProps({start: {type: String,required: true},end: {type: String,required: true},type: {default: daterange // daterange、datetimerange、monthrange},format: {default: YYYY-MM-DD},valueFormat: {default: YYYY-MM-DD HH:mm:ss} }) let dateRange ref([])const dateChange (e) {emit(update:start, e ? e[0] : )emit(update:end, e ? e[1] : ) } /scripttemplateel-date-picker v-modeldateRange:typeprops.type:formatprops.format:value-formatprops.valueFormatstart-placeholder开始日期end-placeholder结束日期changedateChange/ /template最后一步使用SearchForm组件 经过前两步的封装之后在使用的SearchForm组件时简直是爽的不要不要的。看示例 script setupimport { reactive, ref } from vueimport SearchForm from /components/SearchForm/index.vueimport ProListItem from /views/project/components/ProListItem.vueimport { projectList } from /api/project;const searchFormList [{label: 项目名称, prop: name, type: input},{label: 项目编码, prop: code, type: input},{label: 项目描述, prop: desc, type: select, list: [{label: 未开始, value: 1}, {label: 已开始, value: 2}]},{label: 创建日期, type: dateRange, start: startTime, end: endTime}]const dataSource ref([])const queryForm ref()const pagination reactive({pageNum: 1,pageSize: 10,total: 0})const search (form) {console.log(form);queryForm.value formqueryProject()}const queryProject () {projectList({...queryForm.value,pageNum: pagination.pageNum,pageSize: pagination.pageSize}).then((result) {dataSource.value result.data.listdata.total result.data.total}).catch((err) {});} /script templatesearch-form :item-listsearchFormListsearchsearch/pro-list-item :datadataSource/ /template 啥也不说了直接看示例用起来多方便只要项目中有要写搜索表单的地方直接引入SearchForm组件配置一下itemList即可实现完整功能学会了的小伙伴赶紧去用起来吧。
http://www.w-s-a.com/news/344880/

相关文章:

  • 外卖网站设计企业网站优化做法
  • 专业的营销型网站制作wordpress版权年份
  • 程序员会搭建非法网站吗怎么把wordpress字去掉
  • 牡丹江营商环境建设监督局网站中国档案网站建设的特点
  • 网站欣赏网站欣赏知名企业网站搭建
  • 书店网站建设可行性分析为大型企业设计网络营销方案
  • 北京教育云平台网站建设中国服装设计网站
  • 网络公司专业做网站豌豆荚app下载
  • 网站建设属于什么岗位济宁网站建设_云科网络
  • wordpress网站监测fwa 网站 欣赏
  • 用jsp做的可运行的网站推广网络
  • 电商网站设计论文wordpress子文件夹建站
  • 临沂网站优化如何如何做公司的网站建设
  • 建设部网站 光纤到户沈阳网页设计兼职
  • 企业网站建设作用宁波企业网站推广效果好
  • wordpress课件站模板做网站的公司 贵阳
  • 低价格网站建设网站建设中的板块名称
  • 青岛网站建设华夏h5链接是什么意思
  • 贸易公司如何做网站百度做的网站一般在什么后台
  • 东莞网站设计方案广州做服装电商拿货的网站
  • 部队网站建设设计dede个人网站模板
  • 个人网站怎么自己备案重庆怎样网站推广
  • 做电影网站挣钱吗重庆网站建设技术托管
  • 网站建设用户登录网站商业授权含义
  • 接做室内效果图的网站wordpress制作上传图片
  • 维护一个网站一年多少钱网站微信登录怎么做的
  • 中国建设银行网站E路护航官网如何在招聘网站上选个好公司做销售
  • 网站开发质量管理招聘网站建设方案
  • 有没有那个的网站seo编辑的工作内容
  • 平度那里有做网站的昆明建设招聘信息网站