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

黑龙江公司网站建设设计类网站开发策划书

黑龙江公司网站建设,设计类网站开发策划书,子域名查询工具,建筑网站推荐文章目录 1、w-form-select.vue 组件中每个属性的含义2、实例3、源代码 1、w-form-select.vue 组件中每个属性的含义 好的#xff0c;我们来详细解释 w-form-select.vue 组件中每个属性的含义#xff0c;并用表格列出它们是否与后端字段直接相关#xff1a; 属性解释表格我们来详细解释 w-form-select.vue 组件中每个属性的含义并用表格列出它们是否与后端字段直接相关 属性解释表格 属性名类型默认值含义与后端字段直接相关性labelstring表单项的标签文本显示在输入框左侧。否propstring表单验证的关键。 对应后端数据模型中的一个字段名。 主要用于 el-form 的表单验证。是labelWidthstring160px标签的宽度。否labelAlignstringright标签文本的对齐方式。否tipstring鼠标悬停在标签上的提示文本。否operateTypestring操作类型用于判断组件的显示状态如 add, edit, view。否inputWidthstring100%控制内部 el-select 组件的宽度。 可以是像素值、百分比或其他有效 CSS 宽度值。否valueany组件的值。这个值通常直接对应后端字段的值。 使用 v-model 双向绑定此值。是multiplebooleanfalse是否允许多选。如果为 true则 value 为数组否则 value 为单个值。否listany[][]下拉选择框的数据源。通常是一个对象数组其中每个对象表示一个选项。间接相关optionLabelstring指定 list 中哪个属性的值作为下拉选项的标签文本显示。否optionValuestringvalue指定 list 中哪个属性的值作为下拉选项的值。是placeholderstring下拉选择框的占位符文本。否inputEndstring在输入框后附加的文本或元素。否allowCreatebooleanfalse是否允许用户创建新的选项。否defaultFirstOptionbooleanfalse是否在输入框有值的时候默认选择第一个匹配的选项。否 详细解释: 与后端字段直接相关 prop: 这个属性的值通常与后端数据模型的字段名称对应 用于表单验证 例如你在后端有一个 userType 的字段那么你可以设置 propuserType。 prop 的值不是直接传递给后端而是用来匹配 rules, 用于表单校验。value: 组件的值例如用户选择了 普通用户 value 通常是 1 最终会和表单其他数据一起提交给后端。 value 的值直接对应后端字段的值例如如果后端有一个 userType 字段 你的表单提交数据中也需要 userType: 1 。 v-model 直接绑定了 value。 如果 :multipletrue value 为 [1, 3, 5] 等数组 对应后端可能也会是这样的数组结构例如 relatedIds:[1,3,5]。如果 :multiplefalse value 为 1, 对应后端字段值 例如 userType: 1。 optionValue: 指定 list 中哪个属性的值作为下拉选项的值传递给后端 例如你的 list 为 [{id: 1, label: 普通用户}] 那么 optionValueid 表明你选择了 普通用户 后 id 为 1 的值会被作为 value 提交给后端。 与后端字段间接相关 list: 虽然 list 本身不会直接提交给后端但它的数据通常来源于后端接口返回的数据。例如你通常会从后端接口获取一个 用户类型列表作为你的 list 的数据来源。 与后端字段无直接关系 其他属性如 label, labelWidth, tip, operateType, inputWidth, optionLabel, placeholder, inputEnd , allowCreate, defaultFirstOption, 等 主要用于控制前端 UI 的展示与后端字段没有直接的对应关系。 总结 这个表格清晰地展示了 w-form-select 组件中每个属性的作用以及它们与后端字段的关系。 请记住 prop 用作表单验证 value 是与后端字段值直接对应的 而 optionValue 指定了传递给后端的值。 其他属性主要用于组件的 UI 展示和交互。 2、实例 w-form-select v-modelform.relatedIds label关联识别点 label-width120px :operate-typeoperateType:listidentifies option-labeldescription option-valueid :multipletrue input-width100%visible-changehandleVisibleChange/在这个例子中v-modelform.relatedIds 这个属性对应着 w-form-select 组件的 value。 详细解释 v-model 的作用 v-model 是 Vue.js 中用于双向数据绑定的语法糖。 它实际上是 v-bind:value 和 input (或者 change 如果是 select 组件) 的简写形式。 v-modelform.relatedIds 的含义 读取值 组件初始化时会读取 form.relatedIds 变量的值并显示在 w-form-select 组件中。更新值 当用户在 w-form-select 组件中选择了新的选项时组件的值会自动更新到 form.relatedIds 变量。双向绑定 实现了 w-form-select 组件的 value 属性和 form.relatedIds 变量之间的双向绑定。 w-form-select 的 value: 在 w-form-select 组件的代码中我们看到了 v-modelval 并且在 value 发生变化的时候 将其更新到 val 变量。 Watch(value)watchValue(v: any) {this.val v}并且 el-select 组件使用了 v-modelval el-select v-modelval ... /当 w-form-select 组件的值发生变化的时候会触发 input 事件并且传递组件的值, 最终触发的是 w-form-select 组件的 input 事件 inputvalue $emit(input, value)所以 v-modelform.relatedIds 实际上是以下代码的简写 w-form-select:valueform.relatedIdsinputvalue form.relatedIds valuelabel关联识别点label-width120px:operate-typeoperateType:listidentifiesoption-labeldescriptionoption-valueid:multipletrueinput-width100%visible-changehandleVisibleChange /form.relatedIds 的值 由于 :multipletrue 所以 form.relatedIds 的值是一个数组 包含了用户选择的多个 id 值 例如 [1, 3, 5]。 如果 :multiplefalse 则是一个单独的值 例如 1。 后端关系: form.relatedIds 最终会传递到后端 对应后端数据模型的字段。 总结 在你的代码示例中 w-form-select 组件的 value 属性的值被 v-modelform.relatedIds 所控制。 form.relatedIds 变量存储了组件的当前值并且实现了双向数据绑定。 因此 在你这个例子中 v-modelform.relatedIds 就是对应 w-form-select 组件的 value 属性。 3、源代码 !-- src/components/DialogForm/func/w-form-select.vue -- templatediv classwrapdiv classboxel-form-item :labellabel :propprop :label-widthlabelWidthdiv slotlabel :styletext-align: ${labelAlign};span{{ label }}el-tooltip classitem effectdark :contenttip || label || placeholder placementbottom-starti classel-icon-warning-outline //el-tooltip/span/divspan v-ifoperateType viewtemplate v-ifmultiple{{ list list.length list.filter(o val.includes(o[optionValue])).map(o o[optionLabel]).join(,)}}/templatetemplate v-else!-- {{ getSelectLabel(val) }} --{{ list list.length list.find(o val o[optionValue]) list.find(o val o[optionValue])[optionLabel] }}/template/spandiv v-else classinput-container!-- 这里有一个 v-else --el-select v-modelval :multiplemultiple filterable clearable :placeholderplaceholder || label || tip:allow-createallowCreate :default-first-optiondefaultFirstOption:styleinputWidth ? width: ${inputWidth}; : width: 100%; inputvalue $emit(input, value)changevalue $emit(change, value)visible-changevalue $emit(visible-change, value)el-option v-iflist.length :label :value /el-option v-for(item, i) in list :key item[optionLabel] item[optionValue] i:labelitem[optionLabel] :valueitem[optionValue]//el-select/divdiv classappend-slot!-- 添加一个容器包裹插槽 --slot nameappend/slot !-- 插槽用于放置图片 --/divtemplate v-ifinputEndnbsp;nbsp;nbsp;nbsp;/template{{ inputEnd }}/el-form-item/div/div /template script langts import { Component, Vue, Prop, Emit, Watch } from vue-property-decorator import { AppModule } from /store/modules/app import { UserModule } from /store/modules/userComponent({name: w-form-input,components: {} })export default class extends Vue {Prop({ default: })public label!: stringProp({ default: })public prop!: stringProp({ default: 160px })public labelWidth: stringProp({ default: right })public labelAlign: stringProp({ default: })public tip?: stringProp({ default: })public operateType!: stringProp({ default: false })Prop({ default: 100% })public inputWidth?: stringProp({ default: })public value?: anyProp({ default: false })public multiple: booleanProp({ default: () [] })public list!: anyProp({ default: })public optionLabel: stringProp({ default: value })public optionValue: stringProp({ default: })public placeholder?: stringProp({ default: })public inputEnd?: stringProp({ default: false })public allowCreate?: booleanProp({ default: false })public defaultFirstOption?: booleanWatch(list)watchList(v: any) {this.selList v}Watch(value)watchValue(v: any) {this.val v}private multipleFlag: boolean falseprivate selList: any this.listprivate val: any this.value } /script style scoped langscss .wrap {width: 100%;.box {width: 100%;position: relative;overflow: visible;}.input-container {position: relative; /* 确保下拉框的弹出层基于此容器定位 */display: inline-block; /* 让下拉框和图片在同一行 */}.append-slot {position: absolute; /* 将图片绝对定位 */left: 15%; /* 图片放置在下拉框右侧 */top: 53%; /* 垂直居中 */transform: translateY(-50%); /* 确保垂直居中 */margin-left: 10px; /* 图片与下拉框的间距 */z-index: 1; /* 确保图片在下拉框之上 */}/* 确保 el-select 的下拉菜单不受干扰 */.el-select {width: 200px; /* 设置默认宽度 */position: relative; /* 确保下拉框的弹出层基于此容器定位 */}.el-select-dropdown {z-index: 9999 !important; /* 确保下拉菜单在最上层 */}} /style
http://www.w-s-a.com/news/213820/

相关文章:

  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计
  • 免费网站免费无遮挡手机页面设计软件
  • 网站建设需求规格说明书中山模板建站公司
  • wordpress get值网站建设 seo sem
  • 网站建设微信开发工厂代加工平台
  • 厦门 网站建设 公司哪家好asp.net 创建网站
  • 专业北京网站建设凡科网做网站怎么样
  • 金富通青岛建设工程有限公司网站浙江省住建厅四库一平台
  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6
  • 是做网站编辑还是做平面设计seo外包公司接单
  • 做性的网站有哪些苏州专业网站设计制作公司
  • 陵水网站建设友创科技十大优品店排名
  • 想换掉做网站的公司简要说明网站制作的基本步骤
  • 国企公司网站制作wordpress 浮动定位
  • 网站网页直播怎么做的企业网站建设推荐兴田德润
  • 网站建设熊猫建站厦门seo全网营销
  • 扁平网站设计seo是什么岗位的缩写
  • 工商企业网站群晖配置wordpress 80端口
  • 企业网站建设流程步骤镇江东翔网络科技有限公司
  • 网络工程师和做网站哪个难网络建站如何建成
  • 网站建设需要哪些项目游民星空是用什么做的网站
  • 旅游网站建设要如何做百度商城网站建设
  • destoon 网站搬家中国企业500强都有哪些企业
  • 商城网站前端更新商品天天做吗哈尔滨做网站优化
  • 新乡网站开发wordpress 产品分类侧边栏
  • 网站自己做自己的品牌好做互联网企业分类
  • 项目网站建设方案石家庄网站快速排名
  • 网站开发大作业报告做电商网站的参考书
  • Apache局域网网站制作wordpress外链自动保存