Vue标签属性如何动态传参并拼接字符串

这篇具有很好参考价值的文章主要介绍了Vue标签属性如何动态传参并拼接字符串。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

html标签input的属性placeholder需要动态传参并拼接固定的字符串

存在问题

我们需要根据传入值的类型,在placeholder属性赋值"请输入长度",“请输入宽度”,"请输入厚度"等提示字符
v-model拼接字符串,vue.js,javascript,前端

解决方案

  1. 方法一

    v-bind:属性=" ‘字符串’+自定义变量名",需要注意一下属性一定是":属性="这种形式才会起作用

    <ul class="menu" v-for="(item,index) in 4">
        <li :class="{'selected':index===clickIndex}" @click="selected(index)">
            <div>
                <h3>{{item}}点位标签</h3>
                <span style="margin: 15px 0px;">附近的资产:3个(2个未完成修订)</span><br />
                <img :src="'img/'+(item+nameIndex)+'.jpg'" />
                <a href="#"></a>
            </div>
        </li>
    </ul>
    
  2. 方法二

    我们还可以使用模板字符串语法给普通标签绑定一个属性变量

    <span :title="`${drug.itemname} ${drug.itemgg}`">{{ drug.itemname }} {{ drug.itemgg }}</span>
    
  3. 方法三

    动态改变组件placeholder的值,这样做的缺点是引入一个新的变量
    将placeholder绑定一个动态参数,如下:

    :placeholder="vpcPlaceholder"
    

    该动态参数通过某个条件计算而来,因此将该参数写到computed()中最为合理,如下代码

    3.1 placeholder动态绑定

    <el-select v-model="form.vpc" :placeholder="vpcPlaceholder" @change="changeVPC">
        <el-option v-for="item in attrs.vpc" :key="item.value" :label="item.label" :value="item.value">
        </el-option>
    </el-select>
    

    3.2 placeholder文字根据条件生成文章来源地址https://www.toymoban.com/news/detail-744509.html

    computed: {
        vpcPlaceholder() {
        return this.attrs.vpc.length ? "请选择" : "暂无可用VPC,请先申请"
        }
    }
    

最终方案

<vxe-table-column title="实际尺寸(mm)" width="15%" class-name="actuel-size">
    <template slot-scope="scope">
      <table border="1" class="border-none">
        <!-- dx的方向的长度 -->
        <tr v-if="scope.row.x">
            <td>{{ scope.row.x.name }}</td>
            <td><input :value="scope.row.x.value" :placeholder="`请输入实际` + `${scope.row.x.name}`" /></td>
        </tr>
        <!-- dy的方向的长度 -->
        <tr v-if="scope.row.y">
            <td>{{ scope.row.y.name }}</td>
            <td><input :value="scope.row.y.value" :placeholder="`请输入实际` + `${scope.row.y.name}`" /></td>
        </tr>
        <!-- dz的方向的长度 -->
        <tr v-if="scope.row.z">
            <td>{{ scope.row.z.name }}</td>
            <td><input :value="scope.row.z.value" :placeholder="`请输入实际` + `${scope.row.z.name}`" /></td>
        </tr>
      </table>
    </template>
</vxe-table-column>
if ([35782656, 35717120, 35848192].includes(retProduct.categoryId)) {
 // 如果截面类型:石膏线:35782656 踢脚线:35717120 和定制线条:35848192
 retProduct.x = {
   name: "厚度",
   value: dataProduct.modelInfo.dx
 }
 retProduct.z = {
   name: "高度",
   value: dataProduct.modelInfo.dz
 }
} else if ([33685504, 33751040, 36765696, 33619968, 34734080].includes(retProduct.categoryId)) {
 // 如果是铺贴类型:地面:33685504 墙面:33751040 扣板:36765696 定制素材:33619968 背景墙:34734080
 retProduct.x = {
   name: "长度",
   value: dataProduct.modelInfo.dx
 }
 retProduct.y = {
   name: "宽度",
   value: dataProduct.modelInfo.dy
 }
 retProduct.z = {
   name: "厚度",
   value: dataProduct.modelInfo.dz
 }
} else if (retProduct.categoryId === 34668544) {
 // 如果是 墙板:34668544
 retProduct.x = {
   name: "宽度",
   value: dataProduct.modelInfo.dx
 }
 retProduct.y = {
   name: "高度",
   value: dataProduct.modelInfo.dy
 }
 retProduct.z = {
   name: "厚度",
   value: dataProduct.modelInfo.dz
 }
} else {
 // 如果是 软装
 retProduct.x = {
   name: "长度",
   value: dataProduct.modelInfo.dx
 }
 retProduct.y = {
   name: "宽度",
   value: dataProduct.modelInfo.dy
 }
 retProduct.z = {
   name: "高度",
   value: dataProduct.modelInfo.dz
 }
}

到了这里,关于Vue标签属性如何动态传参并拼接字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3/ Vue3 计算属性computed函数 语法 与 介绍 、Vue3 Vue2computed计算属性 能不能传参 怎么传参

    语法: // 第一种语法get方法 (没有set) const 函数名 = computed(() = {   return  }) // 第二种语法 get set 方法 带有set参数 可以设置 const 函数名 = computed(() = { get() { return 结果 }, set( val ){  } }) 触发场景:  如果要访问计算属性 会自动执行 get 如果要修改计算属性 会自动执行 set 简介

    2024年02月02日
    浏览(40)
  • 【vue】post请求的参数格式转换为字符串拼接

    我在提交表单的时候,发现一直报500这个错,说是超时,但是我反复查看,并没有什么问题。后来我请求大佬说是请求接口的参数的问题,使用对象JSON的形式就是获取不到,必须是字符串拼接的格式才可以(默默地说,post默认参数是对象JSON格式传递,传字符串拼接的格式是

    2024年02月12日
    浏览(40)
  • 如何进行字符串的分割和拼接?

    字符串的分割和拼接是在C语言编程中常见的操作,尤其在处理文本数据时非常重要。在本文中,我将详细解释如何在C语言中进行字符串的分割和拼接,包括使用标准库函数和手动操作字符串数组的方法,以及一些实际应用示例。 字符串分割是将一个字符串拆分成多个子字符

    2024年02月09日
    浏览(26)
  • vue3 中模板字符串中添加click方法并传参

    工作中遇到 html 字符串拼接出dom结构,并且需要触发事件和传参的场景。借此机会记录一下。 1. 拼接内容 核心是利用 html 的 onClick 属性,触发单击事件,想要传递对象,必须要 JSON.stringify() ,否则控制台会报错 2. methods 内容 因为我是 vue3 组合式API,所以你可以根据你项目情

    2024年02月15日
    浏览(27)
  • 【VUE】Unterminated template literal:拼接字符串包括<script></script>时报错误

    vue拼接字符串包括script标签时报错误提示Unterminated template literal解决方法加反斜杠就可以,在script结束标签里边加反斜杠 /script

    2024年02月13日
    浏览(30)
  • Vue2-动态路由传参的基本用法

    在Vue 2中,可以使用动态路由传递参数。动态路由参数允许你在路由路径中包含占位符,这些占位符可以在路由被匹配时提取出来并作为参数传递给组件。 下面是一个使用Vue 2动态路由传参的基本用法的例子: 首先,在路由配置文件(通常是 router/index.js )中定义一个带有动

    2024年02月01日
    浏览(32)
  • Vue(标签属性:ref、配置项:props、混入mixin、插件、样式属性:scroped)

    前面提及到了标签属性:keys 这里将了解ref:打标识 正常布置脚手架并创建入口文件main.js引入组件 给一个按钮获取上方的dom的方法,方法中使用什么进行获取dom元素 是使用获取id方法给标签设置id,直接操作dom?  错误❌ 既然原生js可以给dom添加id,那么Vue也有类似的标识方

    2024年02月02日
    浏览(24)
  • phpstorm添加vue 标签属性绑定提示和提示vue的方法提示

    把上面这些文字粘贴到点击右下角放大按钮 后的文本框里,然后保存即可实现标签属性提示 下面是提示js方法,把本地的vue.js 引入到编辑器即可

    2024年02月13日
    浏览(31)
  • 快速打通 Vue 3(四):标签的 ref 属性与 Vue3 生命周期

    很激动进入了 Vue 3 的学习,作为一个已经上线了三年多的框架,很多项目都开始使用 Vue 3 来编写了 这一组文章主要聚焦于 Vue 3 的新技术和新特性 如果想要学习基础的 Vue 语法可以看我专栏中的其他博客 Vue(一):Vue 入门与 Vue 指令 Vue(二):计算属性与 watch 监听器 Vue(

    2024年01月18日
    浏览(35)
  • vue实现把字符串中的所有@内容,替换成带标签的

    前言:         目前有个需求是,要把输入框里面的@还有姓名高亮。 要求: 1、必须用 v-html ,带标签的给他渲染 2、把字符串中的@全部查找出来,替换掉,注意要过滤已经替换好的,不然就是无限循环了 实现方法:

    2024年02月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包